看懂sh脚本

1 开头

程序必须以下面的行开始(必须方在文件的第一行):

#!/bin/sh

符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。

当编写脚本完成时,如果要执行该脚本,还必须使其可执行。

要使编写脚本可执行:

编译 chmod +x filename 这样才能用./filename 来运行

2 注释

在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。

3 变量

在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。

#对变量赋值:

a=”hello world”

 # 现在打印变量a的内容:

echo “A is:”

echo $a

$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1 是传递给该shell脚本的第一个参数
$2 是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
$$ 是脚本运行的当前进程ID号
$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误

 

4 环境变量

由export关键字处理过的变量叫做环境变量。

5 Shell命令和流程控制

在shell脚本中可以使用三类命令:

1)  Unix 命令:shell脚本中可以使用任意的unix命令

2) 概念: 管道, 重定向和 backtick

  管道 (|) 将一个命令的输出作为另外一个命令的输入。

    grep “hello” file.txt | wc –l

    在file.txt中搜索包含有”hello”的行并计算其行数。

    在这里grep命令的输出作为wc命令的输入

  

  重定向:将命令的结果输出到文件,而不是标准输出(屏幕)。

    > 写入文件并覆盖旧文件

    >> 加到文件的尾部,保留旧文件内容。

3) 流程控制

 

转载于:https://www.cnblogs.com/qwj-sysu/p/4390003.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值