ネットワークエンジニア系ブログ。エンターテイメント、おすすめ映画、本、キッズ系などお役立ち情報を紹介!

GOISBLOG

サーバー技術

日経Linuxのシェル・スクリプトの課題をやってやろうじゃねーか

投稿日:2014年3月31日 更新日:

サーバーを初めてまだ半年ですが、シェル・スクリプトってなんじゃいってことで、まーたくわけがわからない感じです。
なので、会社の先輩に教えて頂いた日経Linuxのシェル・スクリプト工房ってやつで練習することにしました。

ここは結構、基礎的なことを中心にしわかりやすいんですが、いかんせんコマンドが違ったりとうまくいかなかったところがあったので、修正しながら勉強したところをまとめていきます。

シェル・スクリプト工房のお題をわけわからんがやってみる

本やネットの説明を見てもなんというか、ふわっとした感じでわかんないっすよね。
じぶんがおバカちゃんなので仕方ないのですが。。。

とりあえず、打ってじぶんの目で確認しろ精神で作っていきます。

スポンサーリンク


第2回 処理内容を確認する。

参考:シェル・スクリプト工房より

ファイルを作成してもよいかという質問に「yes」または「y」と
入力した場合に/root/script_testを作成するシェルスクリプトを作成する。

[root@TEST ~]# ll
合計 108
-rw-r--r--. 1 root root 101 8月 29 16:09 2013 2renshu.sh
-rw-r--r--. 1 root root 167 8月 29 16:22 2013 2test-1.sh
-rw-------. 1 root root 1515 8月 6 05:56 2013 anaconda-ks.cfg
-rw-r--r--. 1 root root 68568 8月 6 05:56 2013 install.log
-rw-r--r--. 1 root root 10721 8月 6 05:54 2013 install.log.syslog
-rwxrwxrwx. 1 root root 96 8月 22 19:14 2013 test-1
-rw-r--r--. 1 root root 185 8月 22 19:23 2013 test-2
-rw-r--r--. 1 root root 135 8月 23 09:33 2013 test-3.sh

まずは”2test-1.sh”というファイルを作成する。

vi 2test-1.sh

#!/bin/sh
TARGET_FILE="/root/script_test"
echo -n "Can I make \"TARGET_FILE\" file? : "
read answer
if [ $answer = "yes" -o $answer = "y" ]
then
touch $TARGET_FILE
fi

 

[root@TEST ~]# ll
合計 108
-rw-r--r--. 1 root root 101 8月 29 16:09 2013 2renshu.sh
-rw-r--r--. 1 root root 167 8月 29 16:22 2013 2test-1.sh
-rw-------. 1 root root 1515 8月 6 05:56 2013 anaconda-ks.cfg
-rw-r--r--. 1 root root 68568 8月 6 05:56 2013 install.log
-rw-r--r--. 1 root root 10721 8月 6 05:54 2013 install.log.syslog
-rwxrwxrwx. 1 root root 96 8月 22 19:14 2013 test-1
-rw-r--r--. 1 root root 185 8月 22 19:23 2013 test-2
-rw-r--r--. 1 root root 135 8月 23 09:33 2013 test-3.sh
[root@TEST ~]#
[root@TEST ~]# sh 2test-1.sh ←シェルを実行
Can I make \"TARGET_FILE\" file? : yes
[root@TEST ~]# ll
合計 108
-rw-r--r--. 1 root root 101 8月 29 16:09 2013 2renshu.sh
-rw-r--r--. 1 root root 167 8月 29 16:22 2013 2test-1.sh
-rw-------. 1 root root 1515 8月 6 05:56 2013 anaconda-ks.cfg
-rw-r--r--. 1 root root 68568 8月 6 05:56 2013 install.log
-rw-r--r--. 1 root root 10721 8月 6 05:54 2013 install.log.syslog
-rw-r--r--. 1 root root 0 8月 29 16:32 2013 script_test
-rwxrwxrwx. 1 root root 96 8月 22 19:14 2013 test-1
-rw-r--r--. 1 root root 185 8月 22 19:23 2013 test-2
-rw-r--r--. 1 root root 135 8月 23 09:33 2013 test-3.sh
[root@TEST ~]#

※script_testが作成された。

質問して入力された2つのファイルを作成するスクリプト

参考:シェル・スクリプト工房第2回(練習問題)

質問して入力された2つのファイルを作成する。

vi 2renshu.sh

#!/bin/sh
echo -n "Which two files would you like to make? : ";
read file1 file2
touch $file1 $file2

それでは以下で実行

[root@t-bobo011 ~]# sh 2renshu.sh
Which two files would you like to make? : test1 test2
[root@t-bobo011 ~]# ll
合計 108
-rw-r--r--. 1 root root   101  8月 29 16:09 2013 2renshu.sh
-rw-r--r--. 1 root root   167  8月 29 16:22 2013 2test-1.sh
-rw-------. 1 root root  1515  8月  6 05:56 2013 anaconda-ks.cfg
-rw-r--r--. 1 root root 68568  8月  6 05:56 2013 install.log
-rw-r--r--. 1 root root 10721  8月  6 05:54 2013 install.log.syslog
-rw-r--r--. 1 root root     0  8月 29 16:32 2013 script_test
-rwxrwxrwx. 1 root root    96  8月 22 19:14 2013 test-1
-rw-r--r--. 1 root root   185  8月 22 19:23 2013 test-2
-rw-r--r--. 1 root root   135  8月 23 09:33 2013 test-3.sh
-rw-r--r--. 1 root root     0  8月 29 17:20 2013 test1
-rw-r--r--. 1 root root     0  8月 29 17:20 2013 test2
[root@t-bobo011 ~]#

2つのファイルが作成された。

まとめ

うっひょー!
できたぜー!

だけど、覚えてませんけどねー。

ほんとにこりゃ、何度も自分で作って、何度も挫折していかんといかん気がします。

これからもどんどんいろんなシステムを作成してい来ますが、御年33歳。

気合でやるしかねー。

この記事が気に入ったら
いいね!しよう

Twitter で
スポンサーリンク

-サーバー技術
-,

Copyright© GOISBLOG , 2016 AllRights Reserved.