本文适用于以下主题:
Unix & Linux convert string to command
UNIX & Linux 将字符串转换成命令执行
Linux sh脚本中怎样将字符串转化为命令
答案:
在shell脚本中使用eval命令(此命令是bash的内置命令,凡是bash的内置命令查看帮助时用man eval),而不是exec。
语法:
eval 参数
参数可以为一组命令的字符串,如“eval yum install dstat–y ”,如果不加参数直接执行eval也可以,返回错误代码依旧为0(成功执行),但没有意义。
为什么不用exec?
因为exec在执行一次后自动退出当前shell脚本,导致在exec后的所有行全部忽略。
为什么exec会自动退出?
exec不启动新的shell,而是用将后面所跟的命令替换当前的shell(当前运行的脚本或登录会话)的进程。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。