PowerShellスクリプト用のshebangを使用するのが最善ですか?

PowerShellスクリプト用のshebangを使用するのが最善ですか?

シェルスクリプトではシェルボーンこのように:

#!/bin/bash
echo "The shebang above this line works like a typical a comment but with a purpose"

PowerShellスクリプトはシェルスクリプトでもあります。したがって、次のようにしても大丈夫です。

#!/usr/local/bin/pwsh
echo "The shebang above this line works like a typical a comment but with a purpose"

このスクリプトはWindowsコンピュータでは意味がないようですが、LinuxおよびMacコンピュータでは意味があるようです。

PowerShellスクリプト用のshebangを使用する方が良いと思いますか?

ベストアンサー1

UNIX / Linux派生システムで実行可能なスクリプトを実行すると、カーネル(時にはシェル)は、#!使用するインタプリタの名前を表す(shebang)フラグを最初の行で見つけます。

shebang がない場合、スクリプトの実行方法に関する明示的な情報はなく、インタプリタはユーザーが明示的に指定します。

例えば、

bash somescript         # user calls bash explicitly to run the script

そして

chmod a+x somescript    # make executable
head -n1 somescript     # show the first line
#!/bin/bash

./somescript            # the script itself defines bash to execute it

標準シェルだけでなく、すべてのインタプリタにも同様に適用されます。したがって#!/bin/awk#!/usr/bin/perlなどを持つことができます。

#!/usr/local/bin/pwsh同様に、読み取ったコードを実行できるインタプリタを提供できない理由はありません。標準入力。これが私がしたいことです。

おすすめ記事