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