我在UNIX中创建了一个别名,正则表达式正在创建问题 我的意图是使用别名作为_enable -input,参数应该以" - "。传递。 没有问题所在。
别名是
alias _enable="function _enable() { [[ $1 =~ ^- ]] || { echo \"Use hyphen (-) before nodes.\"; return 1; } ; [[ $# = 1 ]] && { NODE=`echo ${1##*-}`; } || { NODE=\"\"; } ; $HOME/bin/command --command=enable --node=$NODE; }; _enable $1;"
实际输出是:
SS-04:~ # _enable 1
-bash: conditional binary operator expected
-bash: syntax error near `^-'
答案 0 :(得分:1)
你真的不需要别名,所有引用都是逃避的。
只需这个功能就足够了:
_enable() {
[[ $1 == -* ]] || { echo "Use hyphen (-) before nodes."; return 1; }
[[ $# -eq 1 ]] && NODE="${1##*-}" || NODE=""
$HOME/bin/command --command=enable --node="$NODE"
}
然后你可以打电话:
_enable 1
Use hyphen (-) before nodes.
echo $?
1