我需要在启动时运行 xrandr -o normal 并不断收到 Bad Interpretation 错误

我需要在启动时运行 xrandr -o normal 并不断收到 Bad Interpretation 错误

我需要xrandr -o normal在启动时运行并继续获取

Bad Interpretation error - No such file or directory exists. 

这是我的脚本:

#!bin/bash
xrandr -o normal

我已检查过该位置并且它确实在那里。

答案1

bin/bash缺乏领导/,因此是相对路径。它指的bashbin无论你现在在哪里。通常,它根本不存在,就像本例一样。如果它确实存在,它可能不是正确的文件。

看来您打算使用绝对路径。正如steeldriver 评论道/,在路径中写入前导将解决这个问题,确保bin路径的组成部分始终引用bin直接位于的目录/

#!/bin/bash

您不应尝试在shebang/hashbang ( #!) 行。在这种情况下,似乎你并没有尝试这样做,而只是意外地这样做了。

有时人们会尝试这样做,编写类似的东西,#!python3希望PATH查找会像在 shell 中运行命令一样发生。它不会发生。(#!/usr/bin/env python3可以在这些情况下使用,因为env命令会搜索PATH。)

不同于对于目标是相对路径的符号链接,目标是相对于符号链接所在的位置进行解析,一行中的相对路径#!是相对于脚本运行时的当前工作目录来解析的/。即使相对路径包含由 分隔的多个路径部分(例如) ,情况也是如此bin/bash。每次运行脚本时,该位置通常不会相同,并且通常不是包含脚本的目录。

因此,虽然具有相对路径的符号链接通常很有用,但具有相对路径的 shebang 在实践中始终是一个错误。

相关内容