【发布时间】:2015-04-09 00:23:43
【问题描述】:
如果我有这样的功能:
function getIP() {
local ip=$(cat /etc/hosts | awk '/${1:-domain}/{print $1}')
echo "$ip"
}
如何防止 $1 'print $1' 成为传递给函数的参数?
所以基本上我想调用它并得到类似:cat /etc/hosts | awk '/domain/{print $1}'
但我目前使用默认参数获取:cat /etc/hosts | awk '/domain/{print }'
并带有传递的参数:cat /etc/hosts | awk '/test/{print test}'
我尝试转义它,但这给了我一个 bash 错误:
awk: /${1:-domain}/{print \$1}
awk: ^ backslash not last character on line
【问题讨论】: