这是我的linux bash脚本的一部分。我需要向./AAAAA
可执行文件输入一些命令行参数,但它看不到它们。当我用<<end .. end
打包它时,它会向我显示“意外的EOF”错误。我试图将所有输入文件放在..
附近 - 也没有帮助。我的想法已经不多了。
while [ "$month" -le 9 ]
do
while [ "$day" -le 31 ]
do
"AAAA_15-0$month-$day_text.ff"
xargs ./EXECUTABLE <<EOF
"AAAA_15-0$month-$day_text.ff"
"AAAA_15-0$month-$day_text"
"AAAA_15-0$month-$day_text.det"
ZZZ.txt
XXX.txt
CCC.txt
VVV.txt
BBB.txt
EOF
mv "AAAA_15-0$month-$day_text"*"."* "15-0$month-$day_text"
day=`expr $day + 1`
done
day=`expr $month + 1`
完成
答案 0 :(得分:1)
使用xargs
:
xargs ./AAAA <<EOF
XXXX.ff
XXXX.det
CCCC.txt
BBBB.txt
NNNN.txt
MMMM.txt
LLLL.txt
EOF
答案 1 :(得分:0)
当您使用<<EOF
时,EOF
必须位于该行的开头,如果缩进,则无法找到它。
while [ "$month" -le 9 ]
do
while [ "$day" -le 31 ]
do
"AAAA_15-0$month-$day_text.ff"
xargs ./EXECUTABLE <<EOF
"AAAA_15-0$month-$day_text.ff"
"AAAA_15-0$month-$day_text"
"AAAA_15-0$month-$day_text.det"
ZZZ.txt
XXX.txt
CCC.txt
VVV.txt
BBB.txt
EOF
mv "AAAA_15-0$month-$day_text"*"."* "15-0$month-$day_text"
day=`expr $day + 1`
done
day=`expr $month + 1`
done
您可以使用<<-EOF
。这允许它缩进,但缩进必须是 Tab 字符,而不是空格。