GNU/Linux >> Linux の 問題 >  >> Linux

Bashスクリプトに.shまたは.bash拡張子を使用しますか?

(Ubuntu-OSXの互換性と使いやすさおよびPOSIXについては、#!/ bin / shまたは#!/ bin / bashの使用を参照してください)

スクリプトでbashシェルを使用する場合、.bash拡張子を使用すると、実際にbashが呼び出されますか、それともシステム構成/1番目のシバン行に依存しますか。両方が有効であるが異なる場合、どちらが優先されますか?

スクリプトを.shで終了して「シェルスクリプト」を示し、最初の行でbashシェルを選択するかどうかがわかりません(例:#!/usr/bin/env bash )または.bash(および1行目の設定)で終了するかどうか。 bashを呼び出したい。

承認された回答:

.bash拡張子を使用すると、実際にbashが呼び出されますか、それとも
システム構成/1番目のシバン行に依存しますか。

インタプリタを明示的に使用しない場合、呼び出されるインタプリタはshebangによって決定されます。 スクリプトで使用されます。特にインタプリタを使用する場合、インタプリタはスクリプトにどの拡張子を付けるかを気にしません。ただし、この拡張機能は、スクリプトの種類を他の人にわかりやすくするために存在します。

[[email protected] ~]$ cat ./ext.py
#!/bin/bash
echo "Hi. I am a bash script"

.pyを参照してください bashスクリプトを拡張しても、Pythonスクリプトにはなりません。

[[email protected] ~]$ python ./ext.py
  File "./ext.py", line 2
    echo "Hi. I am a bash script"
                                ^
SyntaxError: invalid syntax

その常にbash スクリプト。

[[email protected] ~]$ ./ext.py
Hi. I am a bash script

Linux
  1. VimでBashスクリプトを強調表示するには?

  2. bash スクリプトを使用した telnet セッションの自動化

  3. SLURM sbatch スクリプト内で Bash 変数を使用する

  1. LinuxBashシェルスクリプトで暗号化されたパスワードを使用する方法

  2. Bashスクリプトでifelse条件文を使用する方法

  3. 2 Linux 用メモリ回帰 Perl スクリプト

  1. BashスクリプトでCdを使用できないのはなぜですか?

  2. Bashスクリプトの変数用のスペース?

  3. スクリプト内の bash シェル スクリプトおよび関数の変数スコープ