私の作業ディレクトリの外にあるファイルをbashスクリプトの変数に格納する必要があります。私はこのように同じディレクトリにファイルを保存することができます。bash - 作業ディレクトリの外部にファイルを格納する方法
value1 = 'File4'
しかし、私は私のディレクトリ以外のファイルへのアクセス権を取得したい場合は、私が最初にそのディレクトリを取得するcd
を使用する必要がありますか?
私の作業ディレクトリの外にあるファイルをbashスクリプトの変数に格納する必要があります。私はこのように同じディレクトリにファイルを保存することができます。bash - 作業ディレクトリの外部にファイルを格納する方法
value1 = 'File4'
しかし、私は私のディレクトリ以外のファイルへのアクセス権を取得したい場合は、私が最初にそのディレクトリを取得するcd
を使用する必要がありますか?
絶対パス、つまり/home/user/path/to/my/file.txt
、または相対パス:../another_directory_at_the_same_level/file.txt
によってファイルにアクセスできます。ダブルドットはスーパーディレクトリを意味します。つまり、現用パスが/home/user/working/path
の場合、../
は/home/user/working
となります。
パスを一重引用符で囲むことをお勧めします。 – sjsam
まず、現在のディレクトリ(スクリプトの実行元)を計算する必要があります。すると、相対パスで任意のディレクトリにアクセスできます。 like =>$curr_dir/../$value1
または$curr_dir/../../$value2
など.etc
現在のダイレクトイヤーの取得方法は次のとおりです。
curr_dir=$(dirname $(readlink -f $0))
$0
= >>現在.. value1 = 'File4'
は、任意のシンボリックリンクを解決するための引数として
readlink -f
パス$0
を宣言されているスクリプトをスクリプトをruningて。
dirname
返されたフルパスからファイルを削除します。
'value1 = 'File4''のスペースではできません。 –