我只想打印特定目录的文件名:以这种方式工作:
ls -g --sort=size -r /bin | awk '{print $8,$9,$10,$11,$12,$13}'
Run Code Online (Sandbox Code Playgroud)
但如果我读取路径变量它不起作用:
read PATH
ls -g --sort=size -r $(PATH) | awk '{print $8,$9,$10,$11,$12,$13}'
Command 'awk' is available in '/usr/bin/awk'
Run Code Online (Sandbox Code Playgroud)
它应该是:
ls -g --sort=size -r ${PATH} | awk '{print $8,$9,$10,$11,$12,$13}'
Run Code Online (Sandbox Code Playgroud)
注意花括号。
使用$(..),它将执行名为的命令/函数PATH并替换结果,这不是您想要的。
请注意,这PATH对于变量名来说是一个糟糕的选择,因为它将覆盖同名的系统变量并使系统命令不可用(因为原始变量PATH现在已经消失了)。我建议您使用其他名称,例如my_path:
read my_path
ls -g --sort=size -r ${my_path} | awk '{print $8,$9,$10,$11,$12,$13}'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3850 次 |
| 最近记录: |