shebang

ShebangはLinuxでスクリプトを参照できます。
shebang

ShebangはLinuxでスクリプトを参照できます。

#!/bin/bashたとえば、Shebang行のターゲットは、スクリプトではなくバイナリ実行可能ファイルでなければならないと言っていました。これは、MacOS などの多くのオペレーティングシステムでまだ適用されます。しかし、驚くべきことに、Linuxではそうではありません。 Linuxでは、最大4つのレベルのスクリプトを持つことができ、4番目のスクリプトはshebang行で実行可能なバイナリを参照します。ただし、レベル5スクリプトを使用すると、プログラムはエラーで失敗しますToo many levels of symbolic links。 よりLWN記事...

Admin

shebang行に引用符付き文字列を含むenv -SがUbuntuではうまく機能しますが、macOSでは機能しないのはなぜですか?
shebang

shebang行に引用符付き文字列を含むenv -SがUbuntuではうまく機能しますが、macOSでは機能しないのはなぜですか?

私の実行可能ファイルには次のスクリプトがあります。これを使用してスクリプトを実行したいtest-shebang.mjsが、その前にスクリプトをインポートする必要があります。zx~/.zshrc #!/usr/bin/env -S zsh -c 'source ~/.zshrc; zx --install $@' -- console.log("work pls") ./test-shebang.mjsUbuntuではうまくいきます: ❯ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.4 LTS" NAME="...

Admin

shebangを使用してスクリプトからインストールすることはできません(カーネル強化関連?)
shebang

shebangを使用してスクリプトからインストールすることはできません(カーネル強化関連?)

私は非常に奇妙な問題を発見しましたmount。わかりません。 いくつかのコンテキストでホットプラグ可能なUSBデバイスを自動的にマウントするように設計されたPythonスクリプトを作成しましたが、これは関係ありません。 発生するインストールエラーは次のとおりです。 mount: /media/usb/backup: filesystem was mounted, but any subsequent operation failed: Operation not permitted. LUKSパーティションがロック解除されており、スクリプトを使用してマウン...

Admin

Kateエディタで現在開いているファイルをPythonスクリプトとして実行するには?
shebang

Kateエディタで現在開いているファイルをPythonスクリプトとして実行するには?

私はPythonスクリプトを書いており、Shebangラインを使用してシステム上のPythonインタプリタの場所を指定しています。 #!/usr/bin/env python したがって、原則として、私のシステムは正しいインタプリタを使用してスクリプトを正しく実行できる必要があります。 shebang行でインタプリタへの正しいパスを提供する場合は、他のスクリプト言語(シェルスクリプトなど)でも同様です。 今やるべきことは、端末を開いて次のように入力するだけです。 python /path/to/my/script.py しかし、私はより効率的な方法を探し...

Admin

Guixにnix-shell shebangと同等の機能がありますか?
shebang

Guixにnix-shell shebangと同等の機能がありますか?

guix shell特定の環境で実行されるスクリプトを作成したいと思います。同等のバージョンがあればいいのですが。nix-shellシェルボーン。たとえば、次のような内容を書くとよいでしょう。 #!guix shell #!--manifest=manifest.scm bash # ... commands ... 回避策としては、評価された検索パスを「インポート」するだけで十分ですguix shell。たとえば、次のようになります。 #!/usr/bin/env bash eval "$(guix shell --manifest=manifest...

Admin

shebang行に#!commandを使用するとどうなりますか?
shebang

shebang行に#!commandを使用するとどうなりますか?

#!python3 print("Hello") 私はこのコードが私の端末で正しく動作することを発見しました。しかし、誰もがそう#!/path/to/fileするか#!/usr/bin/env command。 #!commandシャバンラインでの使用を避けるべき理由はありますか? ...

Admin

Makefileを実行可能にする方法は?
shebang

Makefileを実行可能にする方法は?

makeUbuntuファイルマネージャでダブルクリックすると、自動的に実行したいMakefileがあります。だから私はこのMakefileを実行可能にし、その上に次のshebang行を追加しました。 #!/usr/bin/make -f 実行すると、/usr/bin/make -f Makefile目的の結果が得られます。 ただし、Makefileをダブルクリックまたは実行すると./Makefileエラーが発生します。 : No such file or directory clang-9 -o .o clang: error: no input...

Admin

実行可能なshebangスクリプトには常にLF行末が必要ですか?
shebang

実行可能なshebangスクリプトには常にLF行末が必要ですか?

Stack Overflowにコメントを残してください。PowerShell Coreは、Linux環境でCRLF行末のあるps1ファイルを処理できますか?Shebangを使用する実行可能ファイルは、引用に応じてLF行末のみを使用する必要があると主張します。オライリーの本。ここで逸話的な証拠shebangラインはcr-lfとは機能しませんこれを証明するようです。 しかし、これは正式な*nix要件ですか、それとも1つのプラットフォームでの動作ですか?どこかに文書化されていますか?間違いなく周りに方法がありません(例:#行の末尾に追加を追加するなど)。 つまり、...

Admin

この場合、bashは親プロセスの共同プロセスをどのように知っていますか、shebang行がこれを変更するのはなぜですか?
shebang

この場合、bashは親プロセスの共同プロセスをどのように知っていますか、shebang行がこれを変更するのはなぜですか?

outer.sh: ls -l /proc/$$/exe coproc cat ./inner.sh kill $! inner.sh: ls -l /proc/$$/exe set | grep COPROC || echo No match found coproc cat kill $! を実行すると、./outer.sh以下が印刷されます。 lrwxrwxrwx 1 joe joe 0 Jun 16 22:47 /proc/147876/exe -> /bin/bash lrwxrwxrwx 1 joe joe 0 Jun 16 22:47...

Admin

書き込み禁止スクリプトの$0(0番目の引数)を書き込みアクセス権のないパスに偽造するにはどうすればよいですか?
shebang

書き込み禁止スクリプトの$0(0番目の引数)を書き込みアクセス権のないパスに偽造するにはどうすればよいですか?

スクリプトで$ 0に依存するのは危険だと言われています(しばしば偽に引用されている場合:exec -a ...)。はい、書き込み権限を持つディレクトリから$ 0を偽造するためにスクリプトにシンボリックリンクをかけることができます。しかし、書き込み権限のないパス(例:以下の/bin/pwd)を$ 0に指定するにはどうすればよいですか? 以下では、私のスクリプトがshebangを使用していると仮定すると、実装できません。ターゲットスクリプトがshebangを使用すると実行できますか? $ (exec -a /bin/pwd /tmp/a0.sh) no-sheb...

Admin

Shebangを使用してSTDINを実行可能にする
shebang

Shebangを使用してSTDINを実行可能にする

データベースファイルを一覧表示するプログラムがあります。 次のようにシェルから直接呼び出されます。 db filename ファイル全体をリストするか、次のようなものをリストします。 db 'filename :: conditions' 選択した要素のみを一覧表示... 別の方法は、すべてのパラメータを含むファイルを使用して呼び出すことです。 db < parameterfile 内容は次のとおりです(上記の「」とまったく同じ)。 filename :: conditions 今、そのようなファイルを実行可能にしたいと思います。だから電話...

Admin

#!/usr/bin/env が NAME=VALUE で中断されます。
shebang

#!/usr/bin/env が NAME=VALUE で中断されます。

私はshebangの意味が何であるかを理解しようとしています。 次のスクリプトを作成できます。 #!/usr/bin/env bash if [ -z "$FOO" ] then echo "No FOO" else echo "$FOO" fi 私の環境ではなく$FOO、などのように実行すると予想通り「No FOO」が印刷されます。./foo.shbash foo.shenv bash foo.sh もちろんFOO=bar ./foo.sh、これを実行して印刷することもできますbar。 マニュアルenvページでは、次のような呼び出しを提...

Admin

ファイルパスを入力してファイルを実行するのと同じですか(shebang行を使用)。
shebang

ファイルパスを入力してファイルを実行するのと同じですか(shebang行を使用)。

私にファイルがあるとします。こんにちは: #!/bin/sh echo "Hello World!" ファイルに実行可能ビットが設定されている場合は、プロンプトでそのパスを入力して実行できます。 $ ./hello Hello World! 上記と同じ内容がより明示的に表示されますか?似ている: $ execute hello 私は合格できることを知っていますこんにちは引数として使用します/bin/shが、shebang行で指定されたインタプリタを自動的に使用するソリューションを探しています。 私のユースケースは、実行可能フラグを設定せずにスクリプト...

Admin