ShellScriptに入門する(1日目)
ShellScriptに入門する(2日目)
ShellScriptに入門する(3日目)
ShellScriptに入門する(4・5・6日目)
今日から10日間かけてShellScriptを勉強していく
とりあえずShell Scripting Tutorialを進める
環境 OS: Ubuntu19.04; Shell: zsh
導入
適当なディレクトリで作成
% echo '#!/bin/sh' > first.sh
% echo '# This is a comment.' >> first.sh
% echo 'echo Hello ShellScript # This is a comment, too!' >> first.sh
# !/bin/sh
# This is a comment.
echo Hello ShellScript # This is a comment, too!
1行目の#!/bin/shは/bin/shで実行しますよ〜って宣言
Perlが使いたかったら#!/usr/bin/perlみたいに書けばいいみたい
2行目のように#hogepiyoみたいな感じでコメントが書ける
3行目ではechoコマンドで引数のHello ShellScriptを出力している
行の途中からでも#でコメントできる
作成後にパーミッションを755に変更し、実行する
% chmod 755 first.sh
% ./first.sh
Hello ShellScript
もちろん同じ結果になる
% echo Hello ShellScript
Hello ShellScript
変数(Part1)
新たにvar.shを作成し、以下のように記述
# !/bin/sh
MY_MESSAGE="Hello ShellScript"
echo "$MY_MESSAGE"
% chmod 755 var.sh
% sh var.sh
Hello ShellScript
var.sh2行目で変数MY_MESSAGEにHello ShellScriptを代入している
また以下のように"="の前後にスペースを入れた状態で実行したところnot foundとなった
# !/bin/sh
MY_MESSAGE = "Hello ShellScript"
echo "$MY_MESSAGE"
% sh var.sh
var.sh: 3: var.sh: MY_MESSAGE: not found
3行目で変数を出力している $VARIABLEのように書けば変数にアクセスできる
次のShellScriptではreadコマンドで受け取った入力をそのまま変数に代入後に、変数展開された文字列を出力している
# !/bin/sh
echo "What is your name?"
read MY_NAME
echo "Hello $MY_NAME - what a brilliant day."
% chmod 755 var2.sh
% sh var2.sh
What is your name?
kshiva
Hello kshiva - what a brilliant day.
今日はここまで
明日も引き続き入門していく