私は2つのbash変数を作成しましたが、どちらも文字列行です。
$oldfilenames
のように見える
path/old-filename-1.txt
path/old-filename-2.txt
path/old-filename-3.txt
path/old-filename-4.txt
...
そして
$newfilenames
のように見える
new-filename-1.txt
new-filename-2.txt
new-filename-3.txt
new-filename-4.txt
...
これら2つの変数を使用して、私のディレクトリにシンボリックリンクを作成したいと思います。
両方の変数の長さは同じです。私はこのようなことをしたいと思います:
for x in $oldfilenames; y in $newfilenames; do
ln -s $x $y
done
私はこれが正しい構文だとは思わず、うまくいくことはできません。
ベストアンサー1
改行で区切られた文字列が一連のファイル名を処理する良い方法であるかどうかはわかりません(配列の使用を検討することもできます)。
しかし、これを考慮すると、次のようになります。ここに文字列がありますread
番号付きファイル記述子から読み取る組み込み機能を使用すると、次のように動作できます。
while IFS= read -r -u3 x; IFS= read -r -u4 y; do
echo ln -s "$x" "$y"
done 3<<<"$oldfilenames" 4<<<"$newfilenames"
[echo
テスト目的で含まれています]。