Unix / Linux – シェルプログラミングとは何か?

スポンサーリンク

本当にわからないとこがあった場合一人では解決できません。
『teratail』とはエンジニア特化型のQ&Aサイトです。 すべてのエンジニアさんが抱えている悩みを共有して 解決するための質問サイトです
無料なのでまずは登録して使ってみてください。メールアドレスだけで登録可能です ----------------------------------------------------------------------------------------


Unix / Linux – シェルプログラミングとは何か?


シェルは Unixシステムへのインタフェースを提供します。あなたからの入力を収集し、その入力に基づいてプログラムを実行します。プログラムの実行が終了すると、そのプログラムの出力が表示されます。まあ当たり前ですが。

シェルは、コマンド、プログラム、およびシェルスクリプトを実行できる環境です。オペレーティングシステムのさまざまなパターンがあるのと同じように、シェルのさまざまなパターンがあります。シェルの各フレーバーには、独自の認識されたコマンドと機能があります。

シェルプロンプト


コマンドプロンプトと呼ばれるプロンプト$は、シェルによって発行されます。プロンプトが表示されている間に、コマンドを入力できます。

シェルは、Enterキーを押した後に入力を読み取ります。あなたの入力の最初の単語を見て実行するコマンドを決定します。単語とは、途切れることのない文字セットです。スペースとタブは単語を区切ります。

以下は、現在の日付と時刻を表示するdateコマンドの簡単な例です。

$date
Thu Jun 25 08:30:19 MST 2012

環境チュートリアルで説明されている環境変数PS1を使用して、コマンドプロンプトをカスタマイズできます。

シェルの種類


Unixでは、2つの主要な種類のシェルがあります。

  • Bourneシェル – Bourneタイプのシェルを使用している場合は、$文字がデフォルトのプロンプトです。
  • Cシェル – Cシェルを使用している場合、%文字がデフォルトのプロンプトです。

Bourneシェルには次のサブカテゴリがあります。

  • ボーンシェル(sh)
  • Kornシェル(ksh)
  • Bourne Againシェル(bash)
  • POSIXシェル(sh)

さまざまなCタイプのシェルが続きます。

  • Cシェル(csh)
  • TENEX / TOPS Cシェル(tcsh)

元のUnixシェルは、ニュージャージーのStephen R. BourneがAT&T Bell Labsにいる間、1970年代半ばに作りました。

BourneシェルはUnixシステム上で最初に出現したシェルなので、 “シェル”と呼ばれています。

Bourneシェルは、通常、Unixのほとんどのバージョンで/ bin / shとしてインストールされます。このため、さまざまなバージョンのUnixで使用できるスクリプトを作成するのに最適なシェルです。

この章では、Borneシェルに基づいたシェルの概念の大部分について説明します。

シェルスクリプト


シェルスクリプトの基本的な概念はコマンドのリストであり、実行順にリストされています。

値Aは値Bより大きい、ループは大量のデータを処理するためのループ、データの読み書き用のファイル、データの読み書き用の変数などの条件付きテストがあり、スクリプトには関数が含まれている可能性があります。。

スクリプトの例


test.shスクリプトを作成したとします。すべてのスクリプトの拡張子が.shであることに注意してください。スクリプトに何かを追加する前に、シェルスクリプトが開始されていることをシステムに警告する必要があります。これはshebang構造体を使用して行われます。例えば ​​-

#!/bin/sh

これは、以下のコマンドがBourneシェルによって実行されることをシステムに伝えます。記号はハッシュと呼ばれているのでシバンと呼ばれています。シンボルはバンと呼ばれます。

これらのコマンドを含むスクリプトを作成するには、まずシバン行を置き、次にコマンドを追加します。

#!/bin/bash
pwd
ls

シェルコメント


あなたはあなたのコメントを次のようにあなたのスクリプトに入れることができます –

#!/bin/bash

# 書き手 : ネットワークエンジニアチュートリアル
# Script follows here:
pwd
ls

上記のコンテンツを保存し、スクリプトを実行可能にします –

$chmod +x test.sh

これで、シェルスクリプトは実行準備が整いました。

$./test.sh

実行時には、次の結果が表示されます。

/home/amrood
index.htm  unix-basic_utilities.htm  unix-directories.htm  
test.sh    unix-communication.htm    unix-environment.htm

拡張シェルスクリプト


シェルスクリプトには、シェル環境に何をやるべきか、いつ実行するかを指示するいくつかの方法があります。もちろん、ほとんどのスクリプトは上記よりも複雑です。

結局のところ、シェルは実際のプログラミング言語であり、変数、制御構造などを備えています。スクリプトがどんなに複雑になっても、それは依然として順次実行されるコマンドのリストです。

次のスクリプトは、キーボードからの入力を受け取り、それを変数personの値として割り当て、最後にそれを出力するreadコマンドを使用します。

#!/bin/sh

# ネットワークエンジニアチュートリアル
# コメント
# シャープはコメントアウトです

echo "こんちは"
read person
echo "Hello, $person"

ここでは、スクリプトの実行例を示します。

$./test.sh
こんちは
Hello, ネットワークエンジニアチュートリアル
$

おすすめ勉強方


プログラミングにしろ、ネットワークエンジニアにしろやはり一人で勉強は非効率です。本当にネットワークエンジニアやプログラマになりたいならまず人に聞きましょう。本当にわからないとこがあった場合一人では解決できません。まあ一人で悩む時間も必要ですけどね 笑

おすすめ学習サイト『teratail』

『teratail』とはエンジニア特化型のQ&Aサイトです。 すべてのエンジニアさんが抱えている悩みを共有して 解決するための場を提供しています。わからないことを質問すると帰ってくるヤフー知恵袋のプログラミングバージョンです。

▼サービスの特徴

【高い回答率】 teratailではPHP、Ruby、Java、Androidなどのウェブやネイティブアプリに関する質問や SwiftやLaravelといった最新技術に関する質問が投稿されます。 1日に100個程度の質問が投稿されその9割程度に回答がつきます。linuxやネットワークも扱ってます。

▼どんな人が使ったらいいか

成長意欲の高い若手エンジニア、経験豊富な熟練のエンジニア、 プログラミングの勉強を始めたばかりの学生など IT系の新サービスを作りたい方には本当におすすめです。我流で一人でプログラミングを組んでいける人は天才です。私はこのサイトとプログラミングスクールにいきました。30歳からプログラミングはじめましたからね私 笑


無料なのでまずは登録してみては?メールアドレスだけで登録可能です

次のページ

スポンサーリンク

プログラミングは独学からは挫折の可能性が高いです。まずは無料体験ができる
コードキャンプが本当におすすめ。無料体験でわからないところを聞きましょう。
転職補助つき。カリキュラム終了後に転職紹介をしてくれます。