sh : 0 : 잘못된 옵션-


10

우분투에서 아래 명령을 실행하려고하면 :

sudo -n -u contd sh --login -c ". /home/contd/iib-10.0.0.5/server/bin/mqsiprofile;/home/contd/iib-10.0.0.5/common/jdk/jre/bin/java -cp $CLASSPATH:$MQSI_JREPATH//usr/share/ant/lib/ant-antlr.jar:/usr/share/ant/lib/ant-apache-bcel.jar:/usr/share/ant/lib/ant-apache-bsf.jar:/usr/share/ant/lib/ant-apache-log4j.jar:/usr/share/ant/lib/ant-apache-oro.jar:/usr/share/ant/lib/ant-apache-regexp.jar:/usr/share/ant/lib/ant-apache-resolver.jar:/usr/share/ant/lib/ant-apache-xalan2.jar:/usr/share/ant/lib/ant-commons-logging.jar:/usr/share/ant/lib/ant-commons-net.jar:/usr/share/ant/lib/ant-javamail.jar:/usr/share/ant/lib/ant-jdepend.jar:/usr/share/ant/lib/ant-jmf.jar:/usr/share/ant/lib/ant-jsch.jar:/usr/share/ant/lib/ant-junit.jar:/usr/share/ant/lib/ant-junit4.jar:/usr/share/ant/lib/ant-launcher.jar:/usr/share/ant/lib/ant-swing.jar:/usr/share/ant/lib/ant-testutil.jar:/usr/share/ant/lib/ant.jar:/usr/share/ant/lib/jsch.jar:/usr/share/ant/lib/junit.jar -Djava.ext.dirs=/home/contd/iib-10.0.0.5/common/jdk/lib:/home/contd/iib-10.0.0.5/common/jdk/jre/lib/ext -Dant.home=/usr/share/ant org.apache.tools.ant.Main -f /home/contd/AntScript/build_main.xml"

이 오류가 발생합니다.

sh: 0: Illegal option --

위의 명령은 Linux에서 지원되어야하지만 우분투에서 동일한 솔루션 (Ant scripting)을 구현하려고하면이 문제에 직면합니다.


5
나는 dash쉘이 긴 형식의 --login옵션을 지원 하지 않는다고 생각한다 : DashAsBinSh
steeldriver

3
빠른 수정은 --loginjust 로 대체 하는 것 -l입니다.
세스

답변:


17

sh우분투에서 bash가 아닌 대시 쉘에 대한 심볼릭 링크입니다. 대시는 longform을 지원하지 않지만 (from ) --login의 속기 형식을 지원합니다 .-lman dash

-l 로그인 쉘로 호출 된 것처럼 대시를 작동 시키십시오.

교체 --login-l명령에 당신의 문제를 해결해야한다.

sudo -n -u contd sh -l -c ". <etc>

당신이 대시 대신 bash는 호출하려면 단순히 전화를 bash대신 sh.

sudo -n -u contd bash --login -c ". <etc>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.