Bash言語でパスリストを定義する方法は?
次のようなものが必要です。
list_of_paths = ["$Home/MyDir/test.c", "$Home/YourDir/file.c"]
答え1
bash
次のコマンドを使用して配列を作成できます
mypaths=( "/my/first/path" "/my/second/path" )
配列の要素は個別に割り当てることもできます。
mypaths[0]="/my/first/path"
mypaths[1]="/my/second/path"
周囲にはスペースを入れないでください=
。
これについては、マニュアルの「アレイ」セクションに説明されていますbash
。
配列を使用して下さい:
printf 'The 1st path is %s\n' "${mypaths[0]}"
printf 'The 2nd path is %s\n' "${mypaths[1]}"
for thepath in "${mypaths[@]}"; do
# use "$thepath" here
done
代替/bin/sh
(bash
他の同様sh
のシェルでも機能します):
set -- "/my/first/path" "/my/second/path"
printf 'The 1st path is %s\n' "$1"
printf 'The 2nd path is %s\n' "$2"
for thepath do
# use "$thepath" here
done
/bin/sh
$1
これは、位置引数リスト($2
など$3
、または集合的に)のシェルの配列のみを使用します$@
。このリストには通常、スクリプトまたはシェル関数のコマンドライン引数が含まれていますが、スクリプトで使用することもできますset
。
最後のループは次のように書くこともできます。
for thepath in "$@"; do
# use "$thepath" here
done
各変数拡張参照が重要です。