我正在尝试安装谷歌应用引擎。说明说使用这个命令:
$ curl https://sdk.cloud.google.com/ | bash
现在,安装人员问我这个问题:
修改个人资料以启用bash完成功能? (Y / N)?
这是什么意思?
修改
我回答是,然后我收到了这个问题:
Google Cloud SDK安装程序现在会提示您更新rc 将Google Cloud CLI引入您的环境的文件。
输入要更新的rc文件的路径,或留空以供使用 [/Users/7stud/.bash_profile]:/ Users / 7stud / .bashrc
将[/Users/7stud/.bashrc]备份到[/Users/7stud/.bashrc.backup]。 [/Users/7stud/.bashrc]已更新。开始一个新的shell 更改生效。
安装程序将以下内容添加到我的.bashrc
文件(Mac OSX 10.6.8)中:
# The next line updates PATH for the Google Cloud SDK.
source '/Users/7stud/google-cloud-sdk/path.bash.inc'
# The next line enables bash completion for gcloud.
source '/Users/7stud/google-cloud-sdk/completion.bash.inc'
第一个脚本是:
script_link="$( readlink "$BASH_SOURCE" )" || script_link="$BASH_SOURCE"
apparent_sdk_dir="${script_link%/*}"
if [ "$apparent_sdk_dir" == "$script_link" ]; then
apparent_sdk_dir=.
fi
sdk_dir="$( command cd -P "$apparent_sdk_dir" && pwd -P )"
bin_path="$sdk_dir/bin"
export PATH=$bin_path:$PATH
接下来的脚本就是这样:
_python_argcomplete() {
local IFS=''
COMPREPLY=( $(IFS="$IFS" COMP_LINE="$COMP_LINE" COMP_POINT="$COMP_POINT" _ARGCOMPLETE_COMP_WORDBREAKS="$COMP_WORDBREAKS" _ARGCOMPLETE=1 "$1" 8>&1 9>&2 1>/dev/null 2>/dev/null) )
if [[ $? != 0 ]]; then
unset COMPREPLY
fi
}
complete -o nospace -o default -F _python_argcomplete "gcloud"
_completer() {
command=$1
name=$2
eval '[[ "$'"${name}"'_COMMANDS" ]] || '"${name}"'_COMMANDS="$('"${command}"')"'
set -- $COMP_LINE
shift
while [[ $1 == -* ]]; do
shift
done
[[ $2 ]] && return
grep -q "${name}\s*$" <<< $COMP_LINE &&
eval 'COMPREPLY=($'"${name}"'_COMMANDS)' &&
return
[[ "$COMP_LINE" == *" " ]] && return
[[ $1 ]] &&
eval 'COMPREPLY=($(echo "$'"${name}"'_COMMANDS" | grep ^'"$1"'))'
}
unset bq_COMMANDS
_bq_completer() {
_completer "CLOUDSDK_COMPONENT_MANAGER_DISABLE_UPDATE_CHECK=1 bq help | grep '^[^ ][^ ]* ' | sed 's/ .*//'" bq
}
unset gcutil_COMMANDS
_gcutil_completer() {
_completer "CLOUDSDK_COMPONENT_MANAGER_DISABLE_UPDATE_CHECK=1 gcutil help | grep -v '^information' | grep '^[a-z]' | sed -e 's/ .*//' -e '/^$/d'" gcutil
}
complete -o default -F _bq_completer bq
complete -o nospace -F _python_argcomplete gsutil
complete -o default -F _gcutil_completer gcutil