oh-my-zshをインストールした後、そのようなファイルやディレクトリはありません。

oh-my-zshをインストールした後、そのようなファイルやディレクトリはありません。

ちょうど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

比較的最新バージョンでは、変数の割り当てzshexport他の組み込み関数は二重組み込み/キーワードとして扱われ、その引数は割り当てとして解析されます。

答え2

なぜこれが起こるのかはまだ確信しています。ただし、oh-my-zshを再インストールすると問題が解決する可能性があります。

関連情報