本文適用於如下主題:shell
Unix & Linux convert string to commandbash
UNIX & Linux 將字符串轉換成命令執行ide
Linux sh腳本中怎樣將字符串轉化爲命令進程
答案:字符串
在shell腳本中使用eval命令(此命令是bash的內置命令,凡是bash的內置命令查看幫助時用man eval),而不是exec。string
語法:it
eval 參數class
參數能夠爲一組命令的字符串,如「eval yum install dstat–y 」,若是不加參數直接執行eval也能夠,返回錯誤代碼依舊爲0(成功執行),但沒有意義。登錄
爲何不用exec?語法
由於exec在執行一次後自動退出當前shell腳本,致使在exec後的全部行所有忽略。
爲何exec會自動退出?
exec不啓動新的shell,而是用將後面所跟的命令替換當前的shell(當前運行的腳本或登陸會話)的進程。