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

文章作者 100test 发表时间 2007:10:15 13:09:40
来源 100Test.Com百考试题网


  你或许使用过 .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
   # dont change the first line - its 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 "dont forget to umount when youve done."


相关文章


Oracle.com套件在TurboLinux上的安装
LinuxCV erver与jCVSClient进行分布式开发
如何选购Linux可以搭配的机器之选配一部可以用的LinuxPC
如何在硬碟建置Linux系统之关於root使用者
编写叙述程式(Scripts):.BAT档的聚合体
Oracle中分页查找语句的实现
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛