開発者ドキュメント

VPSで簡単なシェルスクリプトを書く方法

序章

このチュートリアルは、さまざまな目的でシェルスクリプトを作成する方法を教えることを目的としています。 シェルスクリプトを使用して、複数のコマンド、困難で広範な引数を持つ単一のコマンド、または作業を分散するためのよりユーザーフレンドリーなインターフェイスを実行できます。 本質的に、それなしで手動で行わなければならないことを自動化することにより、あなたの生活を楽にします。

フォルダの設定

シェルスクリプトを書き始める前に、それをフォルダに指定することをお勧めします。 個人用スクリプトの場合は、〜/binでやり直すことをお勧めします。 そのフォルダを作成するには、次のコマンドを実行します。

mkdir ~/bin

また、システム内のどこからでもスクリプトを実行するには、次のコマンドを実行して/ etc/profileを編集します。

sudo nano /etc/profile

次に、ファイルの最後に次の行を追加します。

PATH=$PATH:$HOME/bin
export PATH

保存するにはCTRL+Oを、終了するにはCTRL+Xを忘れないでください。 次のコマンドを実行して、変更を有効にすることができます。

source /etc/profile

Linuxディストリビューションがsourceコマンドをサポートしていない場合は、次のように入力してVPSを再起動することもできます。

sudo reboot

ファイルの作成

シェルスクリプトを開始するには、実行可能ファイルを作成する必要があります。 これは、以下を実行することで簡単に実現できます。

touch ~/bin/firstscript
chmod +x ~/bin/firstscript

nanoテキストエディタを開いて、コマンドの追加を開始します。

nano ~/bin/firstscript

プログラムローダーがこの実行可能ファイルをシェルスクリプトとして認識し、適切なディレクトリからコマンドを実行するには、ファイルの先頭に次の行を追加する必要があります。

#!/bin/sh

これで、次のようなLinuxコマンドを追加する準備が整いました。

clear
echo “Hello World!”

保存(CTRL + O)して終了(CTRL + X)nanoした後、スクリプトを実行するには、次のように入力します。

firstscript

システムのどこからでも。 結果は次のようになります。

スクリプト例

シェルスクリプトの主なポイントの1つは、反復的なタスクのショートカットを作成することです。 たとえば、多くのファイルを〜/ backupフォルダーに移動する場合は、指定したものをすべて削除するスクリプトを設定できます。 それが機能する方法は、次のように入力することです。

filebackup file-name1 file-name2...

そして、あなたがそれを必要とするとき、それはそこにあります。 コーディングを始める前に、何を学ぶ必要があるかを見てみましょう。 適切に記述されたシェルスクリプトはハードコーディングされていません。 つまり、この例のスコープでは、バックアップフォルダーを変更する場合は、スクリプトの最初の行の1つを変更するだけで簡単に変更できます。 はい、それに対応する変数は一度だけ参照されますが、今それを行うことに慣れている場合は、後で本当に役立ちます。 これをテストするために、テキストエディタにジャンプする必要はありません。コマンドラインから次のように入力して、直接実行してください。

testvariable=teststring

「echo」コマンドはテキストを出力します。 実行することによって:

echo $testvariable

設定した値(この場合は「teststring」)を確認できます。 これで、通常の方法でコーディングを開始できます。

touch ~/bin/filebackup
chmod +x ~/bin/filebackup
nano ~/bin/filebackup

‘#’で始まる行はコメントであることを忘れないでください。 プログラムの最初の行に感嘆符が続き、その後に「#!/ bin / sh」行で説明したように「シバン」に変わる場合を除いて、プログラムに影響を与えることはありません。が導入されました。 スクリプトは次のようになります。

#!/bin/sh
#Backup script
#Description: makes a copy of any given file at the backup folder
#Author: Your Name
#Date: 8/10/2013

#Backup folder; set this variable to any folder you have write permissions on
BACKUPFOLDER=~/backup

#The script will make sure the folder exists
mkdir -p $BACKUPFOLDER

#Now the script will copy the given file to the folder
cp -a $@ $BACKUPFOLDER

ここで、保存(CTRL + O)して終了(CTRL + X)した後、コードを確認しましょう。 最初の数行はコメントのみでした。 次に、ファイルをバックアップする場所をBACKUPFOLDER変数で指定しました。 「mkdir-p$BACKUPFOLDER」の実行に進みました。 これは、フォルダを作成しますが、すでに存在する場合はエラーを出さないということです。 次のコマンド「cp」では、スクリプトの呼び出しを進めるすべての引数を「$@」で配置しました。 このコンテキストの引数は、バックアップのためにスクリプトが呼び出された後に配置するすべてのファイル名です。 その直後に宛先フォルダがあります。この場合は「$BACKUPFOLDER」です。 これで、いくつかのファイルを含むシステム上の任意のフォルダーに移動して、次のコマンドを実行することにより、スクリプトをテストできます。

filebackup file1 file2

その行に必要な数のファイルを追加すると、それらはすべてバックアップフォルダにコピーされます。

結論

シェルスクリプトはLinuxシステムのいたるところにあり、それは理由があります。 それらは非常に有用であり、可能性は信じられないほど高いです。 このチュートリアルは基本的なことだけをカバーしており、学ぶべきことがたくさんあります。

モバイルバージョンを終了