script.sh bash 파일을 실행하려면 왜 "bash -x"가 필요합니까? [폐쇄]

script.sh bash 파일을 실행하려면 왜 "bash -x"가 필요합니까? [폐쇄]

Linux Mint v18.1에서 가상 머신(1920x1080)의 올바른 해상도를 설정하는 간단한 bash 파일 스크립트가 있습니다.

#!/bin/bash
xrandr --newmode "1920x1080"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync 
xrandr --addmode Virtual1 1920x1080
xrandr --output Virtual1 --mode 1920x1080`

원래 내 데스크탑에 이 스크립트가 있었지만 /etc/init.d/에 복사했지만 이전에 연결하지 않으면 여전히 실행되지 않는다는 점에 주목할 가치가 있습니다 bash -x. ./script.sh문제를 해결하려면 어떻게 해야 합니까?

편집: 방금 스크립트를 잘못 실행하려고 했습니다(PowerShell을 비난했습니다).
noob_me@linux-mint$ .\reso.sh .reso.sh: command not found

일단 이렇게 실행해 보니 ./script.sh잘 되더군요.

답변1

파일을 독립적으로 실행하려면 파일에 실행 권한을 추가해야 합니다(아직 추가하지 않은 경우). 이 작업을 수행하는 데 사용할 수 있습니다 chmod. chmod u+x filename파일 소유자에게 실행 권한이 추가되고 chmod a+x filename모든 사람에게 실행 권한이 추가됩니다.

답변2

스크립트가 run 을 사용하는 경우 bash -x, run 없이 실행할 수도 있습니다. 왜냐하면 bash -x <file>실행된 각 명령을 추적하여 디버그 모드에서 스크립트를 실행하는 유일한 방법이기 때문입니다.

관련 정보