我正在关注此博客以设置zsh函数来切换AWS CLI配置文件 :https://mads-hartmann.com/2017/04/27/multiple-aws-profiles.html
这是博客中的zsh函数:
function aws-switch() {
case ${1} in
"")
clear)
export AWS_PROFILE=""
;;
*)
export AWS_PROFILE="${1}"
;;
esac
}
#compdef aws-switch
#description Switch the AWS profile
_aws-switch() {
local -a aws_profiles
aws_profiles=$( \
grep '\[profile' ~/.aws/config \
| awk '{sub(/]/, "", $2); print $2}' \
| while read -r profile; do echo -n "$profile "; done \
)
_arguments \
':Aws profile:($(echo ${aws_profiles}) clear)'
}
_aws-switch "$@"
当我运行源代码〜/ .zshrc时,我将这些行添加到了〜/ .zshrc中 它给出了/.zshrc:4:`)附近的解析错误 我阅读了zsh函数文档,但仍不太擅长理解语法以及如何解决此问题。
答案 0 :(得分:1)
看看zsh手册页(QWebView
):
[[(]模式[|模式] ...)列表(;; |;&|; |)] esac
中的大小写单词如您所见,您必须用man zshmisc
分隔多个模式:
|