4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ShellScriptに入門する(1日目)

4
Last updated at Posted at 2019-08-09

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
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を作成し、以下のように記述

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となった

var.sh
# !/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コマンドで受け取った入力をそのまま変数に代入後に、変数展開された文字列を出力している

var2.sh
# !/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.

今日はここまで
明日も引き続き入門していく

4
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?