linux - 在 shell 脚本中比较字符串时出现 "Unexpected operator"错误

标签 linux shell

<分区>

我正在尝试创建一个 shell 脚本来运行命令并在运行其他脚本的输出为非空时播放音乐。到目前为止,我有这个。但是,我在最后一行不断收到“意外的运算符(operator)”错误。代码有什么问题?

作为附加说明,我已验证 myscript 工作正常,并且从命令行运行 vlc 也能正常工作。

#!/bin/sh

TOF=`myscript | cat`
EMPTYSTR=""

if [ "$TOF" == "$EMPTYSTR" ]; then
    echo "vlc somemusicfile.mp3"
fi

最佳答案

使用 = 测试字符串是否相等。 (事实上​​,平等在这里是错误的。你会想要使用不平等)。但是,您可以简单地使用 -n "$TOF" 来检查非空字符串。

此外,不需要使用 |cat

关于linux - 在 shell 脚本中比较字符串时出现 "Unexpected operator"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9242067/

相关文章:

linux - AIX 和 Linux 上的 Fortran 输出不正确

c - 计算任何数字的 log(base 2) 的最佳方法是什么?

Python:文本覆盖在所有窗口顶部,包括 Linux 中的全屏

linux - 按第二字段和第三字段的乘积排序(Linux)

shell - 如何使用 shell awk 获取此数据集?

bash - 你如何在 bash 中解析文件名?

linux - 媒体 ubuntu 权限问题的 jenkins_home 路径

linux - grep 命令试图获取数值

linux - Shell脚本需要以root用户运行

shell - 如何使用CTRL +箭头制作byobu前向词和后向词?