我收到这个意外的“完成”标记错误

echo -e "Enter the file stem name"
read filestem
for i in {1..22}
do
    `java -cp /export/home/alun/jpsgcs/ CMorgansToTheta $filestem_$i.INPUT.par $filestem_$i.THETA.par`
done

最佳答案

在Java命令行中:

java -cp /export/home/alun/jpsgcs/ CMorgansToTheta $filestem_$i.INPUT.par $filestem_$i.THETA.par

您正在使用:
$filestem_$i

相当于:
${filestem_}${i}

因为下划线_在shell中不被视为单词边界,而整个filestem_将被视为变量名。很可能您应该使用:
${filestem}_${i}

你能给我看看这个脚本的输出吗?
#!/bin/bash
set -x
echo -e "Enter the file stem name"
read filestem
for i in {1..3}
do
    echo "java -cp /export/home/alun/jpsgcs/ CMorgansToTheta ${filestem}_${i}.INPUT.par ${filestem}_${i}.THETA.par"
done

关于linux - for循环shell脚本中出现意外的 token “完成”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17174948/

10-11 10:21