str1="ps -ef"
$str1
str2="ps -ef | grep
java"
$str2
执行过程中,变量str1能正常执行,变量str2无法执行。
请教如何才能使变量str2执行成功,谢谢
-------------------------------
跟shell的执行顺序有关系。
str2="ps -ef | grep java"
$str2
shell的第一步先提取关键字,然后才会去变量替换。变量替换成命令行后,再查找命令行的第一个关键字作为执行的命令,后面的就当作参数了。
所以需要使用eval
$str2,将命令行取出再解释执行一次。
-------------------------------
eval命令如何使用?
阅读(641) | 评论(0) | 转发(0) |