-- Start
有时候我们需要动态生成一些命令,然后执行。下面是一个简单的例子。
#!/bin/ksh
cmd="ls | more";
$cmd;
如果你执行上面的脚本,你会收到下面的错误消息,原因是 ksh 把 | 理解成了一个文件名。
ls: cannot access |: No such file or directory
遇到这种情况该如何处理呢?呵呵,so easy,你只需要在命令前加上 eval 即可,如下。
#!/bin/ksh
list="ls | more";
eval $list;
-- 更多参见:ksh 精萃
-- 声 明:转载请注明出处
-- Last Updated on 2015-10-11
-- Written by ShangBo on 2015-10-11
-- End