鸟哥私房菜 第十三章 shell script

本章内容主要是讲了shell script的基础用法。后续会阅读《Linux Shell Scripting Tutorial v2.0》,加深对shell 编程的理解和运用。
1、一般第一行的#!/bin/bash宣告这个script使用的bash的语法!当这个程序被执行时,他就能够加载bash相关配置文件,并且执行bash来使我们底下的指令能够执行。
一般除了第一行的#!是用来宣告shell之外,其他的#都是注释。
2、test 测试功能 可以用来测试某些文档以及其属性   参数众多
3、[](中括号)来进行数据的判断。使用中括号必须要特别注意,因为中括号在很多地方使用,包括通配符和正则表达式等等。如果在bash的语法当中使用中括号作为shell的判断式时,必须要注意中括号的两端要用空格字符来分割。如[ “$HOME” == "$MAIL" ]
在中括号 [] 内的每个组件都需要有空格键来分割;
在中括号内的变数,最好都以双引号括号起来;
在中括号内的常数,最好都以单或双引号括号起来。
中括号的使用方法跟test几乎是一模一样,只是中括号比较常用在条件判断if...then...fi中。
4、script针对参数已经有设定好的一些变量名称了。
eg:  /path/to/filename opt1 opt2 opt3 opt4
        $0                         $1   $2    $3     $4
另外:还有一些在script中可以使用的特殊变量
$# :代表后接的参数“个数” ;  $@:代表["$1" "$2" "$3" "$4"]之意,每个变量是独立的;
$*: 代表["$1"c"$2"c"$3"c"$4"]其中c为分隔符,默认为空格键
5 shift 偏移变量 后面接数字
6、判断
=======》if的用法
 if [判断条件] ;then
      执行内容
 elif [判断条件];then
     执行内容 
else
    执行内容
fi
=======>case的用法
case $变量名 in
"第一个变量名")
       程序段
        ;;
"第二个变量名")
       程序段
        ;;
*)
    最后一个程序段
       ;;
esac   #case的颠倒哦~
7、netstat : 可以查询目前主机有开启的网络服务端口口   netstat -tuln | grep ":80" 寻找80端口的服务。
8、函数功能 function
function fname()
{ 程序段}
function也是拥有内建变量的,他的内建变量与shell script很类似,但是这里容易出错。fuction fname(){}中的$0,$1...等等的表示与shell script 的有些不同。其实就是参数。
9 不定循环
while do done , until do done
while [condition]   条件不成立时终止。
do
     程序段落
done
until [condition]     条件成立时终止。
do
    程序段落
done
10 固定循环
for var in con1,con2,con3...
do
   程序段
done
另外一种形式:
for (( 开始值; 限制值; 执行步阶 ))
do
     程序段
done
11 shell script 的追踪与debug
    -n :不要执行script,仅查询语法的问题  eg.sh -n filename.sh
    -v :在执行script之前,先将script的内容输出到屏幕上
   -x: 将使用到的script内容显示到屏幕上。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值