my.script
나 한테 이런 게 있다고 해봐
#!/bin/bash
blah
blah
그리고 bash 인터프리터는 하나의 --verbose
매개변수를 허용합니다.
--verbose를 bash에 전달하는 my.script를 어떻게 실행합니까?
my.script
명령줄에서 bash --verbose my.script를 수행할 수 있다는 것을 알고 있지만 직접 실행할 수 있어야 합니다 .
편집하다:
글쎄, 아마도 내 구체적인 예를 설명해야 할 것 같습니다. 나는 grunt.js 빌드 시스템을 사용하고 있으며 해당 cli는 #! 노드에. 이제 grunt는 플러그인을 실행하는데, 제가 사용한 플러그인 중 하나는 노드에서 특정 플래그를 활성화해야 했습니다. grunt cli 스크립트는 이 작업을 수행하지 않으며 이를 변경하고 싶지 않습니다.
답변1
--verbose
Shebang 줄에 다음을 추가할 수 있습니다 .
#!/bin/bash --verbose
Linux에서 이 프로그램을 실행하는 경우 커널이 shebang 라인을 처리하는 방식으로 인해 이 방법으로 하나의 매개변수만 추가할 수 있습니다. 쉘 스크립트에서는 set
;를 사용하여 특정 쉘 옵션을 제어할 수 있습니다. 이 경우
#!/bin/bash
set -o verbose
blah
blah
(이것은 set
해당 줄 이후의 명령 만 표시하지만 --verbose
shebang 줄에는 shebang을 포함한 모든 명령이 표시됩니다.)
답변2
테스트.sh:
#!/bin/bash -v
date
:
x=3
실행하면 다음이 생성됩니다.
$ ./test.sh
#!/bin/bash -v
date
Sat Jan 31 21:34:06 VET 2015
:
x=3
답변3
어때요?
node --option `which grunt`