在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,在要执行时,键入它的文件名即可。
中国人 于 2005-07-30 11:26:25发表:
支持下