私のcd.txtで変数をどのように$BASE
使用できますか?以下を試しましたが、エラーが発生しました。
$ cd ~/z/repo_1_ruby_193/
23:23:57 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193
$ BASE="~/z"
23:24:03 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193
$ cd $BASE/repo_1_ruby_193
-bash: cd: ~/z/repo_1_ruby_193: No such file or directory
23:24:25 durrantm Castle2012 /home/durrantm/z/repo_1_ruby_193
答え1
cd ~/z/
使用前にチルダ拡張~
ホームディレクトリに展開します。では文字BASE="~/z"
を引用したため~
拡張されませんでした。これが~
ディレクトリが存在しないというメッセージを受け取る理由です。解決策はこれを参照しないことです。つまり、BASE=~/z
拡張が発生するようにするためです。
答え2
@jw013 が有効な説明と解決策を提示しました。
ただし、パスにスペースや特殊記号が複数含まれている場合など、パスを引用したい場合があります。この場合、$HOME
代わりに使用する必要があります~
。つまり、チルダ拡張とは異なり、パラメータ置換が二重引用符として解釈されるため、BASE="~/z"
正しくBASE="$HOME/z"
機能します。