编写叙述程式 (Scripts): .BAT 档的聚合体

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

你或许使用过 .BAT 来当做一长串命令的缩写 (我常做这种事). 这件事可以藉由在

profile 或 .profile 中设定 alias 来达成. 但是, 一旦 .BAT 档太过复杂, 那麽你

会喜欢由 shell 提供的叙述语言 (Scripting language) : 它几乎和 Qbasic 一样强

大而且易用. 它可以使用变数, 可以拥有像是 while , for, case if.. then .. else,

的语法结构; 它还有其它的优点 -- 例如, 它可以当成是程式语言的替代品.

要撰写一个 script - 就像在 DOS 下写 .BAT 档一样 - 只要编写一个 ASCII 的档案,

内含你想要的指令, 然後储存, 再使用下面这个命令让它可以被执行:

$ chgmod u+x <scriptfile>

当要执行时, 只要键入它的档名就可以了.

这里有个小小的警告: 系统内定的编辑器叫作 vi, 它有一点难以使用, 我想你应该也

会这样认为它有些烦人. 我不会在这篇文章中讨论它 -- 我自己也还尚未找到使用的窍

门 :p 请参考 Matt Welsh 的 "Linux installation... ", 109 页. 但你也可以使用其

它的编辑器, 如 joe 或是 X 下的 emacs. 这里只稍为说明一点你必需知道的 vi 知识

(至少让你可以 quit :p )

- - 加入一段文字可以用在文章中按下 'i';

- - 离开 vi 但不储存文章 : 请按 ESC 再打 :q!

- - 离开且存存 : 按 ESC, 再打 :wq

在 Linux 中编写 shell script 是一门大学问 -- 它几乎要一本书才能讲得具体.

本文不会再更深入的讨论这个问题; 但是, 以下提供了几个有用(希望是)的范例, 希望

能够使你对 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

EXAMPLE 4: fmta

#!/bin/sh

echo "I remind you that only root can format disks"

fdformat /dev/fd0H1440

mkfs -t ext2 -c /dev/fd0H1440

echo "disk formatted."

EXAMPLE 5: mnta

#!/bin/sh

echo "I remind you that only root can mount disks"

mount -t msdos /dev/fd0 /mnt

echo "don't forget to umount when you've done."

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航