在DOS下,我們可以把一長串命令寫進.BAT文件中,以便自動執行一連串動作,Linux中可以由在profile或.profile中設定alias來完成,當.BAT太過複雜時,可用shell提供的敘述語言(Scripting language)來寫:它強大而易用,可以使用變數,有while,for,case if.. then .. else,的語法結構;還可以作為程序設計語言的替代品。
要撰寫一個script,就像在DOS下寫.BAT一樣,只要編寫一個ASCII的文件,內含你想要的指令,然後保存。系統內定的編輯器叫作vi,使用不太方便,也可以使用其它的編輯器如joe或是X下的emacs。以下是vi常用操作法:
1)加入一段文字到文章中:按下『 i 』;
2)離開 vi 但不儲存文章:按ESC,再鍵q!
3)離開且保存:按ESC,再鍵wq
以下是一些shell script範例:
EXAMPLE 1: first_script
#!/bin/sh
# I am a comment
# don't change the first line - it's got to be there
echo "Today is `date`"
echo "My name is "$0
echo "You gave me the following "$#" parameters: "$*
echo "First parameter is "$1
echo "Have you grasped the trick?"
EXAMPLE 2: 2exe
#!/bin/sh
echo "making "$1" executable... "
chmod u+x $1
EXAMPLE 3: backup
#!/bin/sh
echo "Copying files in ~/bak... "
for name in $*
do
cp ${name} ~/bak
done
使用這個命令:$ chgmod u+x 來執行script,在要執行時,鍵入它的文件名即可。
[火星人
]
Linux中shell提供的敘述語言已經有407次圍觀
http://coctec.com/docs/linux/show-post-138779.html