我为音量修改编写了这样的代码:
#!/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
Run Code Online (Sandbox Code Playgroud)
那么代码工作正常,但是当我在终端中执行它时,我得到了以下信息:
[akfaz@localhost utils]$ ./audioControl.sh up
./audioControl.sh: line 9: Simple: command not found
./audioControl.sh: line 10: Simple: command not found
Run Code Online (Sandbox Code Playgroud)
你知道发生了什么吗?
您必须删除所有命令替换:$( )
,不需要它们.
当你必须在里面返回命令的结果时需要它,比如在输入变量时:
var=$(echo "ok")
Run Code Online (Sandbox Code Playgroud)
请参见http://mywiki.wooledge.org/BashFAQ/002和http://mywiki.wooledge.org/CommandSubstitution
归档时间: |
|
查看次数: |
77 次 |
最近记录: |