
私のルートディレクトリにはファイルがありますbash_scripts
。create_py_dir.sh
現在のシェルスクリプトの唯一のコマンドはです。pwd
私はこのファイルが正しく動作することを確認するために使用します。ディレクトリ構造は以下の通りです。
desktop
|
myname(i.e. root directory)
|
bash_scripts
|
create_py_dir.sh
cd
スクリプトと同じディレクトリに移動してコマンドを実行すると、ファイルがそのpwd
ディレクトリにあることを知らせます/Users/myname/bash_scripts
。したがって、ルートディレクトリに戻り、以前のディレクトリを介してデスクトップに移動し、そこから相対パスを介してスクリプトを実行cd ../desktop
すると仮定すると、./../bash_scripts/create_py_dir.sh
スクリプトは正常に動作します。ただし、絶対パスを介して実行しようとすると、./Users/myname/bash_scripts/create_py_dir.sh
次のエラーが発生します./Users/myname/bash_scripts/create_py_dir.sh: No such file or directory
。絶対パスでシェルスクリプトを実行する方法の基本的な理解に問題があるようです。
答え1
./Users/myname/bash_scripts/create_py_dir.sh
絶対パスではありません。
A は.
現在のフォルダへの参照です。
以下は絶対パスの例です。
/Users/myname/bash_scripts/create_py_dir.sh
(ディレクトリがUsers
ファイルシステムの最上位レベルにあると仮定)