ちょうどoh-my-zshをインストールしました。仕事がうまくいっています。それからコメントしました。export ZSH="~/.oh-my-zsh"
後でその行のコメントを解除すると、次のエラーが発生し続けます。しかし、「oh-my-zsh.sh」が存在します。
(base) abc@def-MacBook-Pro .oh-my-zsh % source $ZSH/oh-my-zsh.sh
source: no such file or directory: ~/.oh-my-zsh/oh-my-zsh.sh
(base) abc@def-MacBook-Pro .oh-my-zsh % ls -l ~/.oh-my-zsh/oh-my-zsh.sh
-rwxr--r-- 1 abc staff 5927 Feb 11 2022 /Users/abc/.oh-my-zsh/oh-my-zsh.sh
ベストアンサー1
これは、変数を引用するとき(一重引用符、二重引用符、バックスラッシュなどを含むすべての種類の引用メカニズムを使用)、~
変数値が拡張されないためです。$HOME
$'...'
したがって、代わりに次のコマンドを使用できます。
export ZSH=~"/.oh-my-zsh"
または
export ZSH=~/.oh-my-zsh
または
export ZSH="$HOME/.oh-my-zsh"
通常、次のいずれか~
以降は拡張は行われません=
。
$ echo x=~
x=~
magicequalsubst
このオプションが有効になっていない場合:
$ set -o magicequalsubst
$ echo x=~
x=/home/me
ただし、ジョブでは拡張されます。
$ x=~
$ echo "$x"
/home/me
比較的最新バージョンでは、変数の割り当てzsh
とexport
他の組み込み関数は二重組み込み/キーワードとして扱われ、その引数は割り当てとして解析されます。