Linux シェルスクリプト ~勉強前の準備など~
久しぶりの投稿になります。(社会人って忙しいのね…)
今回はシェルスクリプトを勉強するために、ファイルの配置場所や書き方などを簡単にご説明します。
1.シェルを書いてみる
シェルを作っていきます。Linuxにファイル拡張子などの概念はありませんが、わかりやすいように名前を付けます。
$ vi test.sh
test.shに下のような感じで書き込みます。
中身の説明は下に書きます。
#!/bin/sh printf "Hello " echo "World" #コメントです。
ファイルの権限を設定します。
lsコマンドで所有者がrwxまたはr-xとなっていればやらなくてもいいです。(実行権がないとシェルが使えないため)
$ chmod 750 test.sh
実行します。
$ ./test.sh Hello World
簡単ですね。
では、test.shの説明をします。
#!/bin/sh
これは、簡単に言うと「このファイルはシェルですよー」という宣言みたいなものです。
もう少し詳しく説明すると、先頭行に「#!」(シェバング)が書かれていると次に指定されたコマンドなどを実行するという意味になります。
/bin/lsとか指定すると、まんまlsコマンドみたいになります。(引数を指定する必要あり)
コメントも先頭に「#」を書くので紛らわしいですね。
printf "Hello " echo "World"
上から順にコマンドが実行されていきます。
脱線しますが、printfコマンドはC言語みたいな使い方ができます。
echoコマンドは、末尾が自動で改行されます。
2.シェル名だけで実行する
シェルを実行するのにわざわざ「./test.sh」とか面倒ですよね。シェル名だけで使用可能にする
ホームディレクトリにシェルを配置するためのディレクトリを作成します。(ホームでなくてもいいです)$ mkdir shellscript $ cd shellscript
先ほど作ったシェルを移動させます。(「~」はホームディレクトリを指します。)
$ mv ~/test.sh ~/shellscript
シェルを配置したディレクトリを確認します。
「siroru」は筆者の環境なのでご注意ください。
$ pwd
/home/siroru/shellscript
ではホームディレクトリに戻って、PATHを通します。
編集するのは、ホームディレクトリにある「.bash_profile」というものです。
一応バックアップを取っておきます。(「.org」はオリジナル ← わかりやすいファイル名にする)
$ cp .bash_profile .bash_profile.org
では編集します。
$ vi .bash_profile
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH
編集するのはここです↓
PATH=$PATH:$HOME/.local/bin:$HOME/bin
先ほど、pwdコマンドで出力された結果を後ろに貼り付けます…が、
この時、必ず「:」を末尾に追加してから貼り付けてください。
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/home/siroru/shellscript
保存して再起動
(※ログイン時に.bash_profileは読み込まれるので、再度ログインするだけでも可能)
$ reboot
シェル名だけで実行できるようになるはずです。
$ test.sh Hello World
今回はここまでです。
ありがとうございました。