为什么需要“bash -x”才能运行我的 script.sh bash 文件?

为什么需要“bash -x”才能运行我的 script.sh bash 文件?

我有一个简单的 bash 文件脚本,可以在 Linux Mint v18.1 中为我的虚拟机 (1920x1080) 设置正确的分辨率:

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

您需要向该文件添加执行权限(如果尚未添加),以便单独运行该文件。你可以用 来做到这一点chmodchmod u+x filename将为文件所有者添加执行权限,chmod a+x filename将为每个人添加执行权限。

答案2

如果脚本使用 运行bash -x,那么它也可以不使用它运行,因为唯一的做法bash -x <file>是通过跟踪每个执行的命令以调试模式运行脚本。

相关内容