bashコマンドの使い方の詳細な説明

bashコマンドの使い方の詳細な説明

Linux では、基本的に vi エディタのように「.sh」拡張子を持つテキストの処理と実行を記述する bash が標準として採用されています。

プログラミングと同様に、変数や関数、演算処理などの機能が多く備わっているので、ちょっとしたプログラムを作るのであればbashで書くこともできます。

また、bash はシェルによって実行されるため、シェル スクリプトとも呼ばれます。

シェルスクリプトを作成する

まず、コンソールに「Hello World!!」と出力する簡単なスクリプトを作成します。

vi コマンドを使用して新しいファイルを作成します。

$ vi hello.sh

エディタが開いたら以下のように記述します。

#!/usr/bin/bash
「Hello World!!」をエコーし​​ます。
終了 0

最初の行の「#!/usr/bin/bash」は、bash を使用したシェル スクリプトであることを示します。

2 行目は実行されるステートメントを記述します。

最後に、「exit 0」を使用して bash を終了します。パラメータ 0 は正常終了を示します。

ファイルを作成したら、bash コマンドを使用してシェル スクリプトを実行します。

$ bash hello.sh

実行結果:

こんにちは世界!!

Hello World!!が出力される

また、シェルスクリプトを実行する際には、bash 以外にも実行権限を変更して「./」で実行するコマンドもあります。

$ chmod 755 hello.sh
$ ./hello.sh

sh コマンドを使用して実行する方法があります。

$ sh hello.sh

シェル スクリプトはプログラミングだけでなくコメントにも使用できます。

「#」の後にコメントを書くことができます。

#!/usr/bin/bash
「Hello World!!」をエコーし​​ます。
#処理を終了します。
終了 0

シェル スクリプトでは変数を定義し、値を割り当てることができます。

#!/usr/bin/bash
 
数値=100
円周率=3.14
STR1="こんにちは"
str_2="世界!!"
 
${num}をエコーする
${PI} をエコーする
${STR1}をエコーする
${str_2}をエコーする
 
終了 0

変数には、大文字、小文字、数字、アンダースコア (_) などの英数字を使用できます。

変数に値を割り当てる場合は、「変数 = 値」と記述します。

「=」の前後にスペースを入れるとエラーが発生するので注意してください。

また、変数にアクセスする場合は、「${variable}」のように変数名の前に「$」を付け、変数を「{}」で囲む必要があります。

入出力

#!/usr/bin/bash
 
AGEを読む
エコー「ege=$AGE」
 
終了 0

実行結果:

30
30度

read は、コンソールから入力されたコンテンツをパラメータで指定された変数に保存します。

read で指定された変数は通常の変数と呼ぶことができます。

以下もご興味があるかもしれません:
  • Bashスクリプトを使用すると、シェルにログインするたびにLinuxシステム情報を表示できます。
  • Python3でLinux Bashコマンドを実行する方法
  • bash スクリプトで ssh/scp コマンドにパスワードを渡す方法の詳細な説明
  • Bash スクリプトでの配列メソッドの作成と使用の概要
  • Bash の山括弧の深い理解 (初心者向け)
  • シェルコマンドを実行するJavaコードの実装
  • コマンドラインを呼び出して実行結果を取得する Java の簡単な実装例
  • Javaでシェルコマンドを呼び出して実行結果を取得する例
  • Java による bash コマンド プロセス解析の実装

<<:  MySQL 5.7.15 のインストールと設定方法のグラフィック チュートリアル (Windows)

>>:  Apple 電卓の JS 実装

推薦する

CentOS に MySQL 5.5 をインストールするための完全な手順

目次1. インストール前の準備、インストールパッケージのダウンロード1 インストールの準備2 インス...

Docker コンテナのタイムゾーン エラーの問題

目次背景質問問題分析と解決策新たな問題問題分析と解決策背景node-schedule スケジュール ...

vueプロジェクトは特定の領域に透かしを描くことを実現する

この記事では、Vueを使用して特定の領域に透かしを描く方法を紹介します。具体的な内容は次のとおりです...

動的テーブルを実装するための要素サンプルコード

目次【コード背景】 【コード実装】 #1# -> コード再利用の基本は、再利用可能なコンポーネ...

HTML tbody の使用

構造化テーブル (IExplore のみ) 1) 行ごとにグループ化<thead> .....

TypeScriptの基本型の詳細な説明

目次ブール型数値型文字列型文字列と数値を連結する未定義およびnull配列型タプル型列挙型あらゆるタイ...

MySQL 結合クエリ構文と例

接続クエリ:これは、2 つのクエリ (またはテーブル) の各行をペアで接続した結果です。つまり、1 ...

MySQL の厄介な Aborted 警告をケーススタディで分析する

この記事では主に、MySQL の Aborted アラームに関する関連コンテンツを紹介し、参考と学習...

Vue Nativeを使用したモバイルアプリケーションの構築プロセスの完全な記録

目次序文Vue Nativeの機能宣言的レンダリング双方向バインディングVue.js エコシステムの...

同じレベルの要素で Position:fixed と margin-top を一緒に使用する場合の CSS の問題

問題の説明CSS を使用して上部の固定効果を実現したいと思います。 margin-top と pos...

Vue で Axios カプセル化を使用するための完全なチュートリアル

序文現在、プロジェクトでは、Axios ライブラリが HTTP インターフェース リクエストによく使...

Vue3.0 ルーティング自動インポート方法の例

1. 前提条件インポートには require.context メソッドを使用します。vite で作成...

MySQL で誕生日から年齢を計算する複数の方法

以前はMySQLをあまり使用していなかったため、MySQLの機能にあまり詳しくありませんでした。この...

Windows Server 2016 に Docker をインストールするプロセスと発生した問題

前提条件Windows Server でコンテナーを実行するには、Windows Server (半...