相关疑难解决方法(0)

如何比较Bash中的字符串

如何将变量与字符串进行比较(如果匹配则执行某些操作)?

string bash

897
推荐指数
9
解决办法
114万
查看次数

[:shell编程中的意外操作符

我的代码:

    #!/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脚本有什么错误吗?谢谢!

linux bash shell

173
推荐指数
6
解决办法
17万
查看次数

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不起作用.这里有什么错误?

谢谢

bash shell

12
推荐指数
1
解决办法
1万
查看次数

/ bin/sh:奇数字符串比较错误'意外操作员'

发现这个错误非常奇怪,因为之前我的脚本正在运行,但是当我从服务器移动它后,我正在使用我的本地机器,它停止工作,只是给了我一个'意外的操作员'错误.

# 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)

shell sh

1
推荐指数
1
解决办法
7015
查看次数

标签 统计

bash ×3

shell ×3

linux ×1

sh ×1

string ×1