我想要背靠背執行兩個或多個命令。但是這些命令存儲在腳本中的一個變量中。例如,在ksh93中對多個命令執行進行評估,Solaris
var="/usr/bin/ls ; pwd ; pooladm -d; pooladm -e"
當我通過腳本執行這個變量時出現問題。 假設我去:
#!/bin/ksh -p
..
..
var="/usr/bin/ls ; pwd;pooladm -d; pooladm -e"
..
..
$var # DOES NOT WORK ..BUT WORKS WITH EVAL
它不工作.. 但目前我使用eval:
eval $var
它出色的作品。
我只是想知道是否有任何其他方式來執行存儲在變量中的一堆命令而不使用eval。
也,eval的使用被認爲是一個糟糕的編程實踐,因爲我的編碼標準似乎避開它的使用而不是擁抱它。請讓我知道。
這並不理想。反引號旨在捕獲命令的輸出以進行進一步處理。如果$ var中的命令向標準輸出寫入任何內容,則此解決方案將捕獲該輸出並將其丟棄。 – Kenster