我有一个在命令行上运行正常的命令,但是当我尝试将它放在别名或函数中时却没有.
$ awk '{print $1}' /tmp/textfile
0
Run Code Online (Sandbox Code Playgroud)
这是正确的,因为'0'在"textfile"的位置1.
$ alias a="awk '{print $1}' /tmp/textfile"
$ a
1 0 136 94
Run Code Online (Sandbox Code Playgroud)
这就是"textfile"中的整行.我已经尝试了各种各样的引号,括号和反引号,我可以想象它们可能会起作用.我可以用各种格式得到同样的问题.
我不明白的是什么?
Lin*_*een 49
你需要逃避$这样的:
alias a="awk '{print \$1}' /tmp/textfile"
Run Code Online (Sandbox Code Playgroud)
否则你的别名是:
awk '{print }' /tmp/textfile
Run Code Online (Sandbox Code Playgroud)
打印整个文件...
gho*_*g74 12
使用函数而不是别名
myfunc(){ awk '{print $1}' file; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13015 次 |
| 最近记录: |