我有一个变量,当我回声它看起来像这样:
#echo $var
awk '{print $7 " " $6 " " $8 " "}'
但如果我尝试类似
的话#ls -lah | exec $var
awk: '{print
awk: ^ invalid char ''' in expression
我做错了什么?
答案 0 :(得分:2)
而不是exec
,您需要致电eval
:
ls -lah | eval $var
但是有两点需要注意:
ls
输出eval
的使用答案 1 :(得分:0)
将awk脚本放在变量
中var='{print $7 " " $6 " " $8 " "}'
ls -lah | awk "$var"