ファイル名の配列を繰り返し、絶対パス内のファイル名を変更しようとします。コードは、
#!/bin/bash
jsArray=(moment.js datatable.js jquery.js jquery.tmpl.js dt_jq_ui.js report_app.js)
for f in "/path/to/res/${jsArray[@]}.js";
do
echo "$f"
done
帰ってきて、
/path/to/res/moment.js
datatable.js
jquery.js
jquery.tmpl.js
dt_jq_ui.js
report_app.js.js
最初の要素にのみ接頭辞があり、最後の要素にのみ接尾辞があるのはなぜですか?
こういう文を期待したところ、
/path/to/res/moment.js
/path/to/res/datatable.js
..................
/path/to/res/report_app.js
ベストアンサー1
Bashに次のように言ったからです。
~$ echo "/path/to/res/${jsArray[@]}.js"
/path/to/res/moment.js datatable.js jquery.js jquery.tmpl.js dt_jq_ui.js report_app.js.js
長いロープを与えるだけです。やりたいことは次のとおりです。
~$ for f in "${jsArray[@]}.js"
do echo "/path/to/res/$f"
done
/path/to/res/moment.js
/path/to/res/datatable.js
/path/to/res/jquery.js
/path/to/res/jquery.tmpl.js
/path/to/res/dt_jq_ui.js
/path/to/res/report_app.js.js