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