コマンドを変数として別の関数に渡すことはできますか?はいの場合、構文は何ですか?Unixの関数に変数としてコマンドを渡す
私のコードは次のようになります。
function1(){
for a in $1
do
echo $a
done
}
function2(){
function1 "ls -lrt folder/Name | grep 'foo' | grep 'bar'"
}
しかし、これは機能しません。
function1 `ls -lrt folder/Name | grep 'foo' | grep 'bar'`
しかし、これは、コマンドの最初の値のみを渡し(と私はこれがなぜ起こるかを理解する):私もとしてそれを渡してみました。
誰かが変数として機能するコマンドを渡す構文を知っていますか?
あなたが 'function1'で' for $ 1'と言っているのは、最初のパラメータを調べているということです。すべてのパラメータをループしたい場合は、 '$ @'を使う必要があります。 – fedorqui
上記のコメントは正しいですが、forループを省略して 'echo @ a'を実行することもできます。もしあなたがその一つの文字列/関数を渡すつもりならば、 – Vaelor
私はそれを試しました。どうもありがとう! :) – user2882388