您是否可以將命令作爲變量傳遞給另一個函數?如果是,那麼語法是什麼?將命令作爲變量傳遞給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 a $ 1'時,這意味着你剛剛通過第一個參數。如果你想遍歷所有的參數,你需要使用'$ @'。 – fedorqui
上面的評論是正確的,你也可以忽略for循環,只是做'echo @ a' - 如果你打算只傳遞一個字符串/函數 – Vaelor
我試過了,它的工作原理!非常感謝! :) – user2882388