我有这个脚本的所有功能,当脚本执行时,我需要用 EOF 创建另一个脚本并通过第一个脚本打开它,但是当我用 eof 创建文件并尝试编写脚本代码时显示此错误:
./skriptaTjeter.sh:第 6 行:[: : 预期整数表达式
./skriptaTjeter.sh:第 9 行:[: : 预期整数表达式
./skriptaTjeter.sh:第 13 行:[: : 预期整数表达式
数位法
我刚开始使用 bash 脚本,我不明白我做错了什么
cat > skriptaTjeter.sh <<EOF
#! /bin/bash
clear
echo Shkruani te ardhurat
read vlera
if [ "$vlera" -lt 5000 ]
then
echo nuk ka asnje takse
elif [ "$vlera" -ge 5000 ] && [ "$vlera" -le 30000 ]
then
tatimi=$((vlera*10/100))
echo shkalla tatimore eshte 10% : $tatimi
elif [ "$vlera" -gt 30000 ]
then
tatimi=$((vlera*20/100))
echo shkalla tatimore eshte 20% : $tatimi
else
echo numer pozitiv ju lutem
fi
EOF
./skriptaTjeter.sh
最佳答案
$vlera
在 cat
运行之前被扩展,所以你的脚本有这样的行
if [ "" -lt 5000 ]
您想引用分隔符,以便此处文档中不会发生参数扩展:
cat > skriptaTjeter.sh <<'EOF'
...
EOF
关于bash - 为什么 EOF 中的代码显示此错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56208483/