【发布时间】:2013-11-01 18:50:44
【问题描述】:
我正在尝试构建我的第一个脚本以在 bash 中使用“if”语句。它结合了我为创建文件的多个副本而工作的 2 个脚本,一个带有数字附加名称,另一个使用 A-Z。
我尝试了很多更改,但如果没有错误消息,我绝对无法让它工作
./cpmany.sh:第 18 行:意外标记附近的语法错误
elif' ./cpmany.sh: line 18:elif [ $alpha="A" ];那么'
这是我原来的非工作代码:
#!/bin/bash
set -x
echo "input file source"
read INPUT
echo "Alphabetical or Numerical"
read alpha
if [ $alpha=="N" ]; then
echo "start of range"
read x
echo "end of range"
read y
for ((i=x; i<=y; i++)); do cp "$INPUT" "$INPUT$i";
elif [ $alpha=="A" ]; then
for i in {a..z}
do
echo "$i"
cp "$INPUT" "$INPUT$i";
else
echo "error in selection";
fi
exit 0
这是我当前的代码,在 if [ $alpha = "N" ] 中添加了“完成”和空格
#!/bin/bash
echo "input file source"
read INPUT
echo "Alphabetical or Numerical"
read alpha
if [ $alpha = "N" ]; then
echo "start of range"
read x
echo "end of range"
read y
for ((i=x; i<=y; i++)); do cp "$INPUT" "$INPUT$i";
done
elif [ $alpha = "A" ]; then
for i in {a..z};
do
echo "$i"
cp "$INPUT" "$INPUT$i"; done
else
echo "error in selection";
fi
done
exit 0
【问题讨论】:
-
您还需要在测试条件中在
=周围放置空格,例如:[ "$alpha" = "N" ]。
标签: linux bash if-statement syntax cp