Linux端末でbashスクリプトを実行するときに「bash foo.sh
」と「」./foo.sh
の間に違いはありますか?それとも同じ機能を実行する2つの異なる方法ですか?
ベストアンサー1
次の条件が満たされている場合は同じことがあります。./foo.sh
- 実行可能であり、
#!/bin/bash
(またはそれに対応する)で始まる
そうしないと、説明する前提条件(foo.sh
bashスクリプト)によっては、./foo.sh
バージョンにユーザーの実行権限がないか、デフォルトのスクリプトインタプリタではなくスクリプト/bin/sh
によって解釈されるため、バージョンが失敗する可能性があります。/bin/bash
/bin/sh