重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文适用于以下主题:
创新互联建站是一家专业提供尼玛企业网站建设,专注与成都网站设计、成都网站制作、外贸网站建设、H5开发、小程序制作等业务。10年已为尼玛众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
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(当前运行的脚本或登录会话)的进程。