サーバーを初めてまだ半年ですが、シェル・スクリプトってなんじゃいってことで、まーたくわけがわからない感じです。
なので、会社の先輩に教えて頂いた日経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つのファイルを作成する。
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歳。
気合でやるしかねー。
以上です。
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す