我的代码:
#!/bin/sh
#filename:choose.sh
read choose
[ "$choose" == "y" -o "$choose" == "Y" ] && echo "Yes" && exit 0
[ "$choose" == "n" -o "$choose" == "N" ] && echo "No" && exit 0
echo "Wrong Input" && exit 0
Run Code Online (Sandbox Code Playgroud)
但是当我执行时
sh ./choose.sh
Run Code Online (Sandbox Code Playgroud)
终端提示我
[: 4: n: :Unexpected operator
[: 5: n: :Unexpected operator
Run Code Online (Sandbox Code Playgroud)
我的bash脚本有什么错误吗?谢谢!
我正在为git hook编写脚本,并且if内部声明有问题while.
文件:
#!/bin/sh
while read oldrev newref ref
do
branch=$(git rev-parse --symbolic --abbrev-ref $ref)
if [ "a" == "a" ]
then
echo "Condition work"
fi
echo "$branch"
done
Run Code Online (Sandbox Code Playgroud)
错误:
hooks/post-receive: 6: [: a: unexpected operator
Run Code Online (Sandbox Code Playgroud)
我将尝试使用变量,双引号但if不起作用.这里有什么错误?
谢谢
发现这个错误非常奇怪,因为之前我的脚本正在运行,但是当我从服务器移动它后,我正在使用我的本地机器,它停止工作,只是给了我一个'意外的操作员'错误.
# Else if the script is being run in the arrayscripts directory, add /output/ ...
elif [ $basePath == "arrayscripts" ];
then
echo "$dscr has started to run."
cpuPath="`pwd`/output/cpu.binary"
txtPath="`pwd`/output/cpu.txt"
csvPath="`pwd`/output/cpu.csv"
Run Code Online (Sandbox Code Playgroud)