他のコマンドを使用すると、ランダムな「cd:引数が多すぎます」というエラーメッセージが表示されます。

他のコマンドを使用すると、ランダムな「cd:引数が多すぎます」というエラーメッセージが表示されます。

ランダムに「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コマンドは、ディレクトリへのショートカットであるエイリアスとして上書きされます。エイリアスを削除すると問題が解決しました。

関連情報