다른 명령을 사용할 때 임의의 "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명령은 디렉터리에 대한 바로 가기인 별칭으로 재정의됩니다. 별칭을 제거하면 문제가 해결되었습니다.

관련 정보