2014-12-03 1 views
2

내가 오디오 볼륨 수정을 위해 같은 코드를 작성 작동하지 : 다음 정보를 내가 터미널에서 그것을 실행할 때 잘 코드, 작품을 좋아 배쉬 - 명령을 찾았지만 여전히

#!/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 

그러나 내가 가진 :

[[email protected] utils]$ ./audioControl.sh up 
./audioControl.sh: line 9: Simple: command not found 
./audioControl.sh: line 10: Simple: command not found 

어떤 현상이 발생 했습니까?

답변

6

모든 명령 대체를 제거해야합니다 ($()). 필요하지 않습니다.

당신이 변수 수유 할 때처럼 내부의 명령의 결과를 반환 할 때 필요할

:

var=$(echo "ok") 

http://mywiki.wooledge.org/BashFAQ/002http://mywiki.wooledge.org/CommandSubstitution

+2

당신은 "출력과 같은 설명을 추가 할 수 있습니다 참조 참조 'Simple values ​​are used'(또는 'Simple'로 시작하는 텍스트)와 같이 sth 인 것처럼 보이기 때문에 'Simple'이 실행 명령으로 간주되므로 오류 메시지가 표시됩니다. – Alfe

+0

조금 더 설명해 주셔서 감사합니다. –