bash - .bash_profile 中意外标记“then”附近的语法错误
问题描述
下面是 set -vx 之后;来源 ~/.bash_profile 每条评论由@dash-o
mbp:~ pyop$ set -vx ; source ~/.bash_profile
+ source /Users/pyop/.bash_profile
export PATH="$PATH:/Users/pyop/Library/Python/2.7/bin/:/Users/pyop/Library/Python/3.6/bin/:/Users/pyop/miniconda3/bin:/Users/# export PATH="$GOPATH/bin:$PATH"evault vault.bash.inc' && source '/Users/pyop/google-cloud-sdk/completion.bash.inc'
-bash: /Users/pyop/.bash_profile: line 1: syntax error near unexpected token `then'
-bash: /Users/pyop/.bash_profile: line 1: `export PATH="$PATH:/Users/pyop/Library/Python/2.7/bin/:/Users/pyop/Library/Python/' export PATH="$GOPATH/bin:$PATH"evault vault.bash.inc' && source '/Users/pyop/google-cloud-sdk/completion.bash.inc'
mbp:~ pyop$
以下是@Gordon Davisson 根据用户评论的 LC_ALL=C cat -v ~/.bash_profile
mbp:~ pyop$ LC_ALL=C cat -v ~/.bash_profile
LC_ALL=C cat -v ~/.bash_profile
+ LC_ALL=C
+ cat -v /Users/pyop/.bash_profile
export PATH="$PATH:/Users/pyop/Library/Python/2.7/bin/:/Users/pyop/Library/Python/3.6/bin/:/Users/pyop/miniconda3/bin:/Users/pyop/miniconda2/bin:/usr/local/opt/rabbitmq/sbin:$PATH"^M^Mexport CLICOLOR=1^Mexport LSCOLORS=GxFxCxDxBxegedabagaced^M^Mexport PATH=/Users/pyop/Library/Android/sdk/platform-tools:$PATH^M^Malias subl='open -a "Sublime Text"'^Malias bash_profile_reset="source ~/.bash_profile"^Malias vcode='open -a "Visual Studio Code"'^Malias chrome='open -a "Google Chrome"'^Malias intel='open -a "IntelliJ IDEA"'^M^Malias runelixir="iex -S mix run"^M^Mexport PATH="/Users/pyop/terraform:$PATH"^M^Mexport PATH="/usr/local/opt/ruby/bin:$PATH"^Mexport GEM_HOME=/Users/pyop/.gem^Mexport PATH="$GEM_HOME/bin:$PATH"^M^Mexport NVM_DIR="$HOME/.nvm"^M^M. $HOME/.asdf/asdf.sh^M^M. $HOME/.asdf/completions/asdf.bash^M^Mexport PATH="$HOME/.cargo/bin:$PATH"^M^Mexport WORKON_HOME=~/.virtualenvs^Msource /usr/local/bin/virtualenvwrapper.sh^Mexport PATH="/usr/local/opt/curl-openssl/bin:$PATH"^Meval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib=$HOME/perl5)"^Mif which rbenv > /dev/null; then eval "$(rbenv init -)"; fi^M^M# The next line updates PATH for the Google Cloud SDK.^M# -f '/Users/pyop/google-cloud-sdk/path.bash.inc' && source '/Users/pyop/google-cloud-sdk/path.bash.inc'^M^M# The next line enables shell command completion for gcloud.^M# -f '/Users/pyop/google-cloud-sdk/completion.bash.inc' && source '/Users/pyop/google-cloud-sdk/completion.bash.inc'^M^Mcomplete -C /Users/pyop/terraform/vault vault^M# export GOPATH=/Users/pyop/gocode^M# export GOPATH=$GOPATH^M# export PATH="$GOPATH/bin:$PATH"^Mmbp:~ pyop$
下面是简单的源 ~/.bash_profile
-bash: /Users/pyop/.bash_profile: line 1: syntax error near unexpected token `then'
-bash: /Users/pyop/.bash_profile: line 1: `export PATH="$PATH:/Users/pyop/Library/Python/2.7/bin/:/Users/pyop/Library/Python/3.6/bin/:/Users/pyop/miniconda3/bin# -f '/Users/pyop/google-cloud-sdk/path.bash.inc' && source '/Users/pyop/google-# -f '/Users/pyop/google-cloud-sdk/completion.bash.inc' && source '/Users/pyop/g' export PATH="$GOPATH/bin:$PATH"evault vault
以上是 source ~/.bash_profile 之后的读数
下面是我的 .bash_profile
在我安装 go 之前,我一直在使用这个文件没有问题,现在它有问题。
我已经删除并注释掉了其中的一部分,但没有成功。
任何帮助表示赞赏。
export PATH="$PATH:/Users/pyop/Library/Python/2.7/bin/:/Users/pyop/Library/Python/3.6/bin/:/Users/pyop/miniconda3/bin:/Users/pyop/miniconda2/bin:/usr/local/opt/rabbitmq/sbin:$PATH"
export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
export PATH=/Users/pyop/Library/Android/sdk/platform-tools:$PATH
alias subl='open -a "Sublime Text"'
alias bash_profile_reset="source ~/.bash_profile"
alias vcode='open -a "Visual Studio Code"'
alias chrome='open -a "Google Chrome"'
alias intel='open -a "IntelliJ IDEA"'
alias runelixir="iex -S mix run"
export PATH="/Users/pyop/terraform:$PATH"
export PATH="/usr/local/opt/ruby/bin:$PATH"
export GEM_HOME=/Users/pyop/.gem
export PATH="$GEM_HOME/bin:$PATH"
export NVM_DIR="$HOME/.nvm"
. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash
export PATH="$HOME/.cargo/bin:$PATH"
export WORKON_HOME=~/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
export PATH="/usr/local/opt/curl-openssl/bin:$PATH"
eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib=$HOME/perl5)"
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
# The next line updates PATH for the Google Cloud SDK.
# -f '/Users/pyop/google-cloud-sdk/path.bash.inc' && source '/Users/pyop/google-cloud-sdk/path.bash.inc'
# The next line enables shell command completion for gcloud.
# -f '/Users/pyop/google-cloud-sdk/completion.bash.inc' && source '/Users/pyop/google-cloud-sdk/completion.bash.inc'
complete -C /Users/pyop/terraform/vault vault
# export GOPATH=/Users/pyop/gocode
# export GOPATH=$GOPATH
# export PATH="$GOPATH/bin:$PATH"
解决方案
发布的 bash 脚本没有问题。这很可能是引用其他 bash 脚本的结果:asdf.bash、asdf.sh、virtualenvwrapper.sh、...
执行“set -vx ; source ~/.bash_profile”应该有助于缩小问题
推荐阅读
- html - 选择 CSS 中的任何同级
- python - 使用聚类数据进行 Sklearn 回归
- android - 人们如何修改没有源代码的android应用程序
- javascript - 在 Leaflet 或 Openlayers 地图上绘制 S57 符号
- sonarqube - 如何获得我所有项目的顶级覆盖率报告?
- android - 活动场景
挂起执行(点击()) - jestjs - Bootstrap Dropdown 未在 jestjs 单元测试中正确导入 typescript
- sql-server - SQL Server 非聚集索引扫描或索引取决于值
- c# - EF 如何创建更新具有 500 万行的 SQLite 表中的 100 万行所需的 SQL?它会逐行更新吗?
- java - 无法将 FloatBuffer 转换为 float[] (UnsupportedOperationException)