実行する必要があるすべてxrandr -o normal
起動時に取得し続ける
Bad Interpretation error - No such file or directory exists.
これは私が持っているスクリプトです:
#!bin/bash
xrandr -o normal
私は場所とその間違いなくそこをチェックしました。
bin/bash
は、先頭に/
がないため、 相対パス になります。 現在の場所のbash
サブディレクトリにあるbin
を参照します。通常、この場合のように、これは単に存在しません。存在する場合は、正しいファイルではない可能性があります。
絶対パスを意図しているようです。 steeldriver commented のように、パスの先頭に/
を書き込むと、この問題が解決され、パスのbin
コンポーネントが常にbin
を参照するようになります/
に直接存在するディレクトリ。
#!/bin/bash
Shebang/hashbang(#!
)line で相対パスを使用しないでください。この場合、あなたはそれを試みなかったようですが、偶然そうしただけです。
シェルでコマンドを実行するときと同じようにPATH
ルックアップが発生することを期待して、#!python3
のようなものを書いて、これを試みる人もいます。発生しません。 (env
コマンドはPATH
を検索するため、#!/usr/bin/env python3
はそれらの場合に使用できます。)
nlikeターゲットが相対パスであるシンボリックリンクを使用します。ターゲットはシンボリックリンクが存在する場所に対して相対的に解決されます #!
行の相対パスはスクリプトの実行時に現在の作業ディレクトリになるものは何でも 。これは、相対パスに/
(例:bin/bash
)で区切られた複数のパスコンポーネントが含まれている場合にも当てはまります。その場所は、通常、スクリプトが実行されるたびに同じになることはなく、スクリプトを含むディレクトリではないこともよくあります。
したがって、相対パスを使用したシンボリックリンクは有用ですが、相対パスを使用したシバンは実際には常に間違いです。