저는 디스플레이를 회전시킨 다음 이를 키보드 키에 할당하는 스크립트를 작성하려고 했습니다. 한 번 회전하는 데 상당히 성공했지만 스크립트를 다시 실행하면 회전하지 않습니다. 나는 이것에 익숙하지 않기 때문에 아마도 분명한 것을 놓쳤을 것입니다.
이것이 내가 가진 것입니다:
#!/bin/sh
rotation="xrandr -q --verbose|grep LVDS1|cut -b37-42"
if [ "$rotation" = 'normal' ] ;
then
xrandr -o inverted
else
xrandr -o normal
fi
여기에 있는 지침을 따랐지만 약간 수정해야 했습니다. http://ubuntuforums.org/showthread.php?t=1675299
그게 중요하다면 저는 Arch Linux 3.19.3-3-ARCH를 실행하고 있습니다.
답변1
문제는 명령의 결과를 얻어 변수에 넣는 방식입니다 $rotation
.
rotation="xrandr -q --verbose|grep LVDS1|cut -b37-42"
그리고
rotation=$(xrandr -q --verbose|grep LVDS1|cut -b37-42)
업데이트: 설명에 따르면 다른 인용문은 명령과 변수를 다른 방식으로 확장합니다.
간단한 따옴표는
'
아무것도 확장하지 않습니다.TEST="hello world" echo '$TEST'
출력됩니다
$test
큰따옴표는
"
변수를 확장합니다.TEST="hello world" echo "$TEST"
출력됩니다
안녕하세요 세계
백틱 ```은 명령을 확장합니다:
TEST="pwd" echo `$TEST`
출력됩니다
/경로/대상/현재/디렉토리
그러나 명령의 결과를 얻으려면 $(myCmd)
.