command1
다른 명령(예: command2
)을 인수로 취하고 command2
해당 인수를 나머지 인수로 사용한다고 가정합니다 comman1
.
command1 command2 arg...
command2
가 여러 명령으로 구성되는 경우 (각 명령에는 자체 매개변수와 옵션이 있을 수 있음), 예를 들어 가 이고 이면 ? 에 대한 매개변수를 지정하는 방법은 무엇 command2
입니까 ?command 3; command 4
command 3 | command 4
command2
command1
내 문제는 bash에 속합니까 command1
, 아니면 둘 다에 속합니까?
내가 생각할 수 있는 해결책은
command2
bash 스크립트로 작성하고command2
스크립트 이름을command1
.하지만 아래 예에서는 작동하지 않는 것 같습니다.
$ torify /tmp/test-tor/download.sh /usr/bin/torsocks: 162: exec: /tmp/test-tor/download.sh: not found
내용은
/tmp/test-tor/download.sh
다음과 같습니다:#! /usr/bin/bash curl ifconfig.me myprogram -n myarg
command2
또한 매우 짧은 경우에 스크립트를 작성하는 것은 지나친 것처럼 보이기 때문에 스크립트를 작성하지 않고도 문제를 해결할 수 있는지 알고 싶습니다 .예를 들어 프로그램과 함께 사용할 때 내 외부 IP 주소를 확인하고
tor
싶습니다.curl ifconfig.me
torify "curl ifconfig.me; myprogram -n myarg"
하지만 작동하지 않습니다.
답변1
[아래 링크는 실제 버전이 아닐 수도 있지만 충분히 유사할 수 있습니다.] 명령 torify
은쉘 스크립트, 그냥 torsocks
다른 사람을 호출하는 것뿐이에요쉘 스크립트그게 다야 exec
.
따라서 다음과 같은 여러 명령을 제공할 수 있어야 합니다 torify
.
torify sh -c 'curl ifconfig.me; myprogram -n myarg'
당신이 겪고 있는 문제 torify /tmp/test-tor/download.sh
는 아마도 당신이 작성하고 있는 스크립트가 #!/bin/bash
;로 시작해야 한다는 것입니다. 일부 시스템에는 그렇지 않습니다 . 거기에도 스크립트가 있는지 /usr/bin/bash
확인하십시오 .chmod +x