任意のフォルダから絶対パスでコマンドを実行し、スクリプトを実行させたい
<ブロック引用>絶対パスで実行しようとすると、エラーが発生します:
/test/test_bash_script.sh
-bash: /test/test_bash_script.sh: No such file or directory
ファイル /test/test_bash_script.sh
は存在しないため、実行できません。
-
絶対パスは、ルート ディレクトリ (
/
) からファイルまたはディレクトリの場所を指定するものとして定義されます。 )。 -
/test
ディレクトリ/test
のような絶対パスにすることはできません 存在しません (これはホーム ディレクトリのサブディレクトリです)。
2 つの選択肢があります:
<オール>スクリプトへの正しい絶対パスを使用してください:
/Users/danylo.volokh/test/test_bash_script.sh
ホーム ディレクトリに基づくパスを使用してください:
~/test/test_bash_script.sh
絶対パスとは?
<ブロック引用>
絶対パスは、ルート ディレクトリ (/
) からのファイルまたはディレクトリの場所を指定するものとして定義されます。 )。
ソース Linux/Unix での絶対パスと相対パス
<ブロック引用>スラッシュは常に名前コンポーネントを区切るため、パス名がスラッシュで始まる場合、名前のない「ROOT」ディレクトリがパス名で始まると見なされます。 ROOT ディレクトリには名前がありません。これは、Unix ファイル システム ツリー全体のルートです。
スラッシュで始まるパス名は、常に ROOT から始まるため、絶対パス名と呼ばれます。
名前のないディレクトリについて話すのは難しいため、通常 (誤って) ROOT ディレクトリには "/" (スラッシュ) という名前を使用します。コンポーネント。 ROOT に「/」を使用する場合、実際には「スラッシュ自体ではなく、スラッシュの左側にある名前のない ROOT ディレクトリ」を意味することを理解してください。
ソース Unix/Linux パス名 (絶対、相対、ドット、ドット ドット)
絶対パスは /Users/danylo.volokh/test/test_bash_script.sh
です 、 /test/test_bash_script.sh
ではありません .その場合は Bash が最適です。