絶対パスと相対パスでbashスクリプトを実行する方法

絶対パスと相対パスでbashスクリプトを実行する方法

私のルートディレクトリにはファイルがありますbash_scriptscreate_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ファイルシステムの最上位レベルにあると仮定)

おすすめ記事