linux - shell脚本if语句问题

标签 linux bash shell

我正在尝试为运行 chrunchbang linux 的笔记本设置硬件静音按钮, 我有关键事件处理工作并指向这样的脚本:

curvol=$(amixer get Master | grep 'off')
if ["$curvol" != ""]
then
amixer set Master unmute 
else
amixer set Master mute
fi

按下分配的按钮会发生什么,如果静音,它将取消静音;但如果尚未静音,则不会静音。

我认为问题出在检查命令输出的 if 语句中;它似乎总是在取消静音,无论 if 是否返回 true。

任何帮助将不胜感激!提前致谢。

最佳答案

[ 是命令的名称(有时是 shell 内置命令)。它后面需要一个空格才能工作:

if [ "$curvol" != "" ]

关于linux - shell脚本if语句问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14226879/

相关文章:

linux - 使用shell脚本在指定模式后将多行插入文件

shell - KornShell 脚本 - 当子进程中断时父进程未完成 (TRAP INT)

bash - Shell脚本变量反射

linux - 将目录和所有文件添加到svn的简单命令

linux - awk 没有按预期工作

linux - 使用 gdrive 从 google drive 按名称删除文件夹

python - 将具有多个子选项的命令行选项传递给 python 脚本 -- shell 脚本

Bash 脚本通过一个文件 grep 查找列表名称,然后通过第二个文件 grep 匹配这些名称以获得查找值

Linux 面向行的文本文件操作

c++ - 使用 Makefile 的交叉编译使用了错误的包含