【发布时间】:2017-03-29 10:21:04
【问题描述】:
我创建了一个名为 alias.sh 的文件,我在其中放置了以下代码:
#!/bin/bash
OUTPUT="$(alias | awk -F'[ =]' '{print $2}')"
echo "${OUTPUT}"
每当我在终端中运行命令alias | awk -F'[ =]' '{print $2}' 时,它都会以我的首选格式正确返回一个设置别名列表。
但是,当我执行像$ ./alias.sh 这样的脚本时,它只是返回一个空行。
如果我将alias | awk -F'[ =]' '{print $2}' 命令替换为ls 命令,则该脚本有效。它甚至保留了换行符。
谁能帮我理解为什么脚本没有返回预期的结果?
【问题讨论】:
-
在你的脚本中返回一个
alias是什么?您能否也将您的脚本重命名为OtherAlias.sh并重新测试 -
重命名没有区别,也没有用单个
alias替换alias | awk -F'[ =]' '{print $2}'。 @Inian 有正确的答案,但仍然感谢您的时间。
标签: linux bash shell echo alias