在linux中编写shell脚本文件,如何编写简单的Shell脚本(Script)文件之Linux的基本操作...

如何编写简单的Shell脚本(Script)文件之Linux的基本操作

新建一个文本文件包含所需要的脚本。举例,我会使用pico编辑器写一个脚本用来运行程序tar,带上必要的可选项可以用来解压从因特网下载下来的*.tar的文件(我好像总是记不住tar的所有参赛)。滑动轴承 我决定把我的脚本名称叫做“untar”:

pico untar

因为在我的当前工作目录里untar文件不存在,所有pico文本编辑器自动创建这个文件,现在,我输入以下内容:

#!/bin/bash

echo this is the script file $0

echo untarring the file $1

# this calls tar with options -xvzf (extract,

# verbose, filter through gzip, input filename)

tar -xvzf $1

我使用O保存这个文件,然后X退出。

脚本的第一行,以“#!”开始是特别的提示-它告诉shell应该用哪一个程序来解释我的脚本。在这个例子里,我使用bash shell /bin/bash。第一行必须使用“#!”开头,否则脚本不会运行(系统认为是一个文本文件)。水泥烟囱新建 其他以“#”开始的行是注释行只是给作者和读者使用的,计算机将跳过这些行。

在以上脚本里,参数$0, $1, $2…是传递到脚本里面的参数。举个例子,如果我运行我的脚本名“myscript”带七个参数如下:

myscript a b c d e f g

那么,参赛$0就是myscript, $1就是a, $2就是b,$3就是c,依此类推。

脚本的第二行和第三行,echo命令输出所有在它后面同一行上的文本,然后扩展在脚本里对应的参数$0和$1。第四行和第五行是我写的注释文本,提醒我在这个脚本里要做的事情。只有最后一行是真正起作用的。

一旦脚本已经写好,我把文件属性改成对文件拥有者是“可执行”的:

chmod u+x untar

然后我的脚本就可以这样运行了:

./untar my_tar.tar.gz

Liunx脚本的确非常丰富,灵活,功能强劲,还可能有点复杂。然而,对于日常任务编写一些简单脚本,它并不需要什么特别高深的知识。你可以把一些要用到的命令放在一起,一个接一个,输入到文件里。活动隔断 我使用脚本很频繁是因为我太懒了,不想一次一次的输入相同的命令。

一个最简单的方法,可以把一组命令放在文本文件里然后使用source命令传递给shell让它直接运行:

source my_file

这个时候就不需要在文本第一行加上“#!”的标志了。

3.4.6 引号的含义

一般来说,以下字符对于shell有特殊的含义:

\ ' " ` < > [ ] ? | ; # $ ^ & * ( ) =

这里有四种不同的符号:反斜杠(\),单引号(‘),双引号(“),反向单引号(`)。

反斜杠(\)表示:关闭后面字符的特殊含义

单引号(‘)表示:关闭在两个单引号之间所有字符的特殊含义

双引号(“)表示:关闭在两个双引号之间所有字符的特殊含义除了$ ` \

反向单引号(`)表示:告诉shell首先运行两个反向单引号之间的命令,生物醇油 然后把得到的结果再传递给两个单引号之外的命令。同样的功能也可以通过“$command”命令来实现,而且可能会更方便。

举个例子,我可以创建一个奇怪的目录名叫做“*”通过使用“\”或者“’”符号:

mkdir \*

mkdir ’*’

这屏蔽了“*”对于shell的特别含义。如果没有“\”,“*”意味着当前目录下所有文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值