我为音量修改编写了这样的代码:
#!/bin/bash
case "$1" in
down)
$(amixer -c 0 sset Speaker 5%-)
$(amixer -D pulse sset Master 5%-)
;;
up)
$(amixer -c 0 sset Speaker 5%+)
$(amixer -D pulse sset Master 5%+)
;;
mute)
$(amixer -c 0 sset Speaker 0)
$(amixer -D pulse sset Master 0)
;;
*)
echo $"Usage: $0 {down|up|mute}"
exit 1
esac
代码工作正常,但是当我在终端执行它时,我得到了以下信息:
[akfaz@localhost utils]$ ./audioControl.sh up
./audioControl.sh: line 9: Simple: command not found
./audioControl.sh: line 10: Simple: command not found
你知道发生了什么吗?
答案 0 :(得分:6)
您必须删除所有命令替换:$( )
,不需要它们。
当你必须在里面返回命令的结果时需要它,比如在输入变量时:
var=$(echo "ok")
请参阅http://mywiki.wooledge.org/BashFAQ/002和http://mywiki.wooledge.org/CommandSubstitution