`source~/.bash_aliases`が構文エラーで終了するのはなぜですか?

`source~/.bash_aliases`が構文エラーで終了するのはなぜですか?

このファイルの構文エラーは何ですか?言えない。

set-k8s-azure() { 
  export KUBECONFIG=~/.kube/config.azure-1 
}

set-k8s-minikube() { export KUBECONFIG=~/.kube/config.minikube }

minikube() {
  if [[ $@ == start* ]]; then
    set-k8s-minikube
  fi
  command minikube "$@"
}

alias pulr='if output=$(git status --porcelain) && [ -z "$output" ]; then git pull --rebase; else git stash save "pulr WIP saved" && git pull --rebase && git stash pop; fi'
alias vi=nvim

source ~/.bash_aliases生産する:

bash: /home/niel/.bash_aliases: line 1: syntax error near unexpected token `('
bash: /home/niel/.bash_aliases: line 1: `set-k8s-azure() { '

ベストアンサー1

構文エラーがここにあると思います。

set-k8s-minikube() { export KUBECONFIG=~/.kube/config.minikube }

この構成には、最後の行の前に{...}改行またはaが必要です。;}

set-k8s-minikube() { export KUBECONFIG=~/.kube/config.minikube; }

また、スクリプトで使用する$HOMEよりも使用することをお勧めします。部分的には文書として使用され、部分的にはそうでない変数のように動作するためです(参照~$HOME~二重引用符の中でチルダ(〜)が拡張されないのはなぜですか?)。

おすすめ記事