次のスクリプトがあります。
#!/bin/bash
cat list.txt | while IFS='' read -r a;
#Remove all illegal characters
do
a=${a// /_}
a=${a// /_}
a=${a//\'/}
a=${a//-/_}
a=${a,,}
filepath="/applications/"
b=$filepath$a".csv"
echo $b
done
予想される結果は次のとおりです。
/applications/ahold_region
/applications/alb_sfy_region
/applications/awg_census_region
/applications/bjs_total_ta
/applications/delhaize_region
/applications/dollar_value_area
実際の結果は次のとおりです。
.csvlications/ahold_region
.csvlications/alb_sfy_region
.csvlications/awg_census_region
.csvlications/bjs_total_ta
.csvlications/delhaize_region
.csvlications/dollar_value_area
.csv
bashが置換で最初の4文字を使用しているようです$filepath
。
予想される結果を生成する方法は?
ベストアンサー1
CRLF
スクリプトからのみ取得したのではなく、.shellにlist.txt
変更した後の問題は修正されました。LF
list.txt