web-dev-qa-db-ja.com

ターミナルでbashスクリプトを実行するにはどうすればよいですか?

私は次のようなbashスクリプトを持っています:

#!/bin/bash

echo Hello world!

ターミナルでこれを実行するにはどうすればよいですか?

83
Ballon

$Prompt: /path/to/scriptを押してEnterキーを押します。スクリプトに実行権限があることを確認する必要があることに注意してください。

38
prodigitalson

それを実行するさらに別の方法(今回は実行権限を設定せずに):

bash /path/to/scriptname
101

できること:
sh scriptname.sh

26
xCra2yx

スクリプトを含むディレクトリにcdするか、$ PATHにあるbinフォルダーに入れます

次に入力

./scriptname.sh

同じディレクトリ内または

scriptname.sh

binフォルダーにある場合。

24
John Boker

まず、chmod +x name_of_your_file_scriptを使用して実行可能にする必要があります。

実行可能にした後、./same_name_of_your_file_scriptを使用して実行できます

11
Donald Shahini

cdコマンドを使用して、ディレクトリをスクリプトのある場所に変更します

次に入力

bash program-name.sh
9
gaurav07

これは古いスレッドですが、私はそれに遭遇し、誰もまだ完全な答えを出していないことに驚いています。だからここに行く...

コマンドラインスクリプトの実行チュートリアル!

Q:ターミナルでこれを実行するにはどうすればよいですか?

混乱と対立:

  • あなたはnot 'extension'(.shや.pyなど)が必要ですが、物事を追跡するのに役立ちます。痛いことはありません。ただし、スクリプト名に拡張子が含まれる場合は、それを使用する必要があります。
  • 何らかの理由で特定のディレクトリにいる必要はありませんnot
  • 必要な場合を除き、ファイルを実行するプログラムの名前(BASHまたはPythonなど)を入力する必要はありませんnotに。痛いことはありません。
  • これを行うには、notSudoが必要です。このコマンドは、別のユーザーまたは「root」(管理者)ユーザーとしてコマンドを実行するために予約されています。素晴らしい投稿 ここ

(スクリプトの実行方法を学習している人は、新しいプログラムのインストールなど、本当に必要な場合を除き、このコマンドを使用しないでください。スクリプトを置くのに適した場所は〜/ binですターミナルプロンプトからcd ~/binまたはcd $HOME/binと入力すると、そこにアクセスできます。そのフォルダーには完全な権限があります。)

Unix/Linuxタイプシステムのターミナルから「このスクリプトを実行」するには、3つのことを行う必要があります。

  1. システムにスクリプトの場所を伝えます。 (1つ選択)

    • スクリプト名を含むフルパスを入力します(例:/path/to/script.sh)。ターミナルでpwdまたはecho $PWDと入力することにより、完全なパスを確認できます。
    • 同じディレクトリから実行し、パスに./を使用します(例:./script.sh)。簡単です。
    • システムPATHにあるディレクトリにスクリプトを配置し、名前を入力するだけです(例:script.sh)。整然としたリストが必要な場合は、echo $PATHまたはecho -e ${PATH//:/\\n}と入力して、システムPATHを確認できます。
  2. スクリプトに実行権限があることをシステムに伝えます。 (1つ選択)

    • ターミナルでchmod +x /path/to/script.shと入力して、「実行ビット」を設定します。
    • 数字が必要な場合は、chmod 755 /path/to/script.shを使用することもできます。クールなチャートで素晴らしい議論があります こちら
  3. システムにスクリプトのタイプを伝えます。 (1つ選択)

    • スクリプトの前にプログラムの名前を入力します。 (例:BASH /path/to/script.shまたはPHP /path/to/script.php)スクリプトに.phpや.pyなどの拡張子がある場合、それはスクリプト名の一部であり、含める必要があります。
    • Shebangを使用します。この例では(#!/bin/bash)を持っています。スクリプトの最初の行にそれがある場合、システムはそのプログラムを使用してスクリプトを実行します。プログラムを入力したり、拡張機能を使用したりする必要はありません。
    • 「ポータブル」Shebangを使用します。また、#!/usr/bin/envの後にプログラム名(例:#!/usr/bin/env bashまたは#!/usr/bin/env python3)を使用して、PATHの最初にあるプログラムのバージョンをシステムに選択させることもできます。 here で十分に議論されているように、長所と短所があります。
4
Skeptycal

スクリプトファイルが使用可能なディレクトリまたはフォルダーにいる場合は、「chmod + x your_filename」を使用して、実行可能モードでファイルのアクセス許可を変更するだけです。その後、次のコマンドを使用してスクリプトを実行します。 「$ Sudo ./your_filename.sh」「。」の上現在のディレクトリを表します。注意! bashスクリプトファイルが存在するディレクトリにいない場合は、「cd Directory_name/write the complete path」コマンドを使用して、ファイルがあるディレクトリを変更します。そうしないと、スクリプトを実行できません。

0
Hassan Shamshir