我需要xrandr -o normal
在启动时运行并继续获取
Bad Interpretation error - No such file or directory exists.
这是我的脚本:
#!bin/bash
xrandr -o normal
我已检查过该位置并且它确实在那里。
答案1
bin/bash
缺乏领导/
,因此是相对路径。它指的bash
是bin
无论你现在在哪里。通常,它根本不存在,就像本例一样。如果它确实存在,它可能不是正确的文件。
看来您打算使用绝对路径。正如steeldriver 评论道/
,在路径中写入前导将解决这个问题,确保bin
路径的组成部分始终引用bin
直接位于的目录/
。
#!/bin/bash
您不应尝试在shebang/hashbang ( #!
) 行。在这种情况下,似乎你并没有尝试这样做,而只是意外地这样做了。
有时人们会尝试这样做,编写类似的东西,#!python3
希望PATH
查找会像在 shell 中运行命令一样发生。它不会发生。(#!/usr/bin/env python3
可以在这些情况下使用,因为env
命令会搜索PATH
。)
不同于对于目标是相对路径的符号链接,目标是相对于符号链接所在的位置进行解析,一行中的相对路径#!
是相对于脚本运行时的当前工作目录来解析的/
。即使相对路径包含由 分隔的多个路径部分(例如) ,情况也是如此bin/bash
。每次运行脚本时,该位置通常不会相同,并且通常不是包含脚本的目录。
因此,虽然具有相对路径的符号链接通常很有用,但具有相对路径的 shebang 在实践中始终是一个错误。