私は以前のコマンドの出力を受け取り、新しいコマンドに挿入するbashスクリプトで実行する必要があるコマンドがあります。例えばのでbashスクリプトで変数を引用する方法
: VARIABLE=$(cat "file.txt" | grep "text")
その後別のコマンドでその変数を使用します。
mycommand -p "$VARIABLE"
キャッチは$変数はいつも私が必要とする特殊文字、つまり$および/含まれていますです特殊文字はリテラルなので、一重引用符で囲む必要があります。
私は\""$VARIABLE"\"
を試しましたが動作しませんでした。
私が達成しようとしているのは、私の検索語が含まれているテキストファイルから一意の行を取得する必要があるということです。
次に、その行を入力する必要があります(その半分、私も行をカットし、後半を使用しています)を別のコマンドに入力する必要があります。後で変数をエコーすることで検証したテキストを正常に取得できます。問題は変数に特殊文字として解釈されている$と\が含まれていることです。例えば
:単一なし
my command -p $345$randomtext\.moretext
はエラーをスローし、それが解釈される変数を引用します。
私は試してみるが、モバイルで作業しても正しくフォーマットされなかった。 – jcalton88
'printf"%s \ n "myコマンド-p" $ VARIABLE "は特殊文字が解釈されていることを示していますか? – muru
あなたの質問の前提は間違っています。もし 'VARIABLE'が' $ 345 $ randomtext \ .moretext'に設定されていれば、 'myコマンド-p" $ VARIABLE "は' myコマンド-p '$ 345 $ randomtext \ .moretext''(必要に応じて) * myコマンド-p $ 345 $ randomtext \ .moretextには*しないでください。だから問題は 'my command'の定義のどこかにあるはずです。 – ruakh