여러 매개변수와 하나의 매개변수에 대한 여러 플래그를 사용하여 bash를 만드는 방법을 알아내려고 합니다. xterm을 열고 bash 스크립트로 이동하여 인수를 사용하여 실행하려면 이 작업을 수행해야 합니다.
이것은 내 코드입니다.
#!/bin/bash
if [ "$Running_In_New_Xterm" != t ] ; then
Running_In_New_Xterm=exec xterm -hold -e "cd $3 && $1 $2"
Running_In_New_Xterm=t
fi
$2는 $1에 플래그를 실행하는 명령입니다.-a blah -o blahblah
#2를 수행하는 올바른 방법을 결정하려고 합니다. 공백이 여러 개인 인수가 있는 경우 ""를 추가해야 한다는 내용을 읽었지만 입력 측에서 이를 시도했지만 작동하지 않았습니다. ' ' 일치 항목을 찾는 동안 예상치 못한 EOF가 발생했습니다. 이는 내 문제가 $2가 올바르게 실행되지 않는다는 사실과 관련이 있음을 의미합니다. 이는 bash 자체와 관련이 있다고 생각합니다.
답변1
cd $3 && $1 $2
호출할 수 있는 프로그램이 아닙니다. 당신은해야합니다
Running_In_New_Xterm=exec xterm -hold -e bash -c "cd $3 && $1 $2"
또는 (인수가 필요한 경우 따옴표를 사용하십시오. -a blah -o blahblah
아마도 인용해서는 안 됩니다)
Running_In_New_Xterm=exec xterm -hold -e bash -c "exec cd '$3' && exec '$1' '$2'"