我有一个变量,当我回显时它看起来像这样:
#echo $var
awk '{print $7 " " $6 " " $8 " "}'
但是如果我尝试类似的东西
#ls -lah | exec $var
awk: '{print
awk: ^ invalid char ''' in expression
我做错了什么?
最佳答案
您需要调用 eval
而不是 exec
:
ls -lah | eval $var
但是这里有 2 个注意事项:
- 应避免解析
ls
输出 - 应尽量减少使用
eval
关于Linux awk 字符串执行变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16533062/