ランダムに「cd:引数が多すぎます」というメッセージが表示されます。たとえば、別のコマンドを使用しnewgrp
たりログインしたりします。以下は、Linuxのバージョンとシェルの種類で問題を示すコンソールログです。
Last login: Mon Jun 4 10:50:58 2018 from somewhere.com
cd: Too many arguments.
myServerName /home/myUserName>
myServerName /home/myUserName>
myServerName /home/myUserName>
myServerName /home/myUserName>
myServerName /home/myUserName> groups
groupA groupB
myServerName /home/myUserName> newgrp groupB
cd: Too many arguments.
myServerName /home/myUserName> groups
groupB groupA
myServerName /home/myUserName> uname -or
2.6.32-696.13.2.el6.x86_64 GNU/Linux
myServerName /home/myUserName> lsb_release -irc
Distributor ID: RedHatEnterpriseServer
Release: 6.9
Codename: Santiago
myServerName /home/myUserName> echo $0
tcsh
myServerName /home/myUserName>
newgrp
コマンドは実際には正常に実行されますが、まだこのメッセージを削除したいと思います。
残念ながら、オンライン検索ではすべてcd
コマンド自体に関連しているため、実際の結果は出ませんでした。
この問題を追跡するのに役立ちます。
修正する
myServerName /home/myUserName> grep "cd " ~/.tcshrc ~/.cshrc ~/.login
grep: /home/myUserName/.tcshrc: No such file or directory
myServerName /home/myUserName> grep "cd " ~/.cshrc ~/.login
myServerName /home/myUserName>
~/.cshrc ~/.login ファイル:
# ---------------------------------------------------------------------------- |# ----------------------------------------------------------------------------G
# Name : .login |# Name : .cshrc
# Function : users startup-file for csh and tcsh |# Function : Users startup-file for csh and tcsh
# |#
# Note : Please do not edit this file until you have read the |# Note : Please do not edit this file until you have read the
# site policy file for dot-files: /etc/home/README |# site policy file for dot-files: /etc/home/README.*
# |#
# ---------------------------------------------------------------------------- |# ----------------------------------------------------------------------------
if (-r /etc/home/login && -d /env) then |if (-r /etc/home/cshrc && -d /env) then
source /etc/home/login | source /etc/home/cshrc
else |else
source .login.old | source .cshrc.old
endif |endif
答え1
問題は ~/.cshrc ~/.login スクリプトにあります。
# ----------------------------------------------------------------------------
# Name : .login
# Function : users startup-file for csh and tcsh
#
# Note : Please do not edit this file until you have read the
# site policy file for dot-files: /etc/home/README
#
# ----------------------------------------------------------------------------
if (-r /etc/home/login && -d /env) then
source /etc/home/login
else
source .login.old
endif
このsource
コマンドは、ディレクトリへのショートカットであるエイリアスとして上書きされます。エイリアスを削除すると問題が解決しました。