Linux Shell 基础语法(三)

业精于勤,荒于嬉,行成于思,毁于随

文件比对工具 diff
diff 是用在比对两个文件之间的差异的,并且是以行为单位来比对的
diff [- bBi] file1 file2
-b :忽略一行当中,仅有多个空白的差异(例如 “about me” 与 “about me” 视为相同
-B :忽略空白行的差异。
-i :忽略大小写的不同。
cmp 主要是利用单位去比对
patch 将旧的文件升级成为新的文件
文件打印准备: pr

Shell Script 概述

  • 类似于Windows 下的批处理 把各类命令预先写入一个方便执行的文件中可以更方便的管理Linux主机
  • 文件命名最好以*.sh结尾 便于管理
  • 脚本第一行一般说明使用哪种shell #如 !/bin/bash
  • 交互式脚本可以用read 指令

脚本的指令

  1. 指令的执行是从上而下、从左而右的分析与执行;
  2. 指令的下达就如同第四章内提到的: 指令、选项与参数间的多个空白都会被忽略掉;
  3. 空白行也将被忽略掉,并且 [tab] 按键所推开的空白同样视为空格键;
  4. 如果读取到一个 Enter 符号 (CR) ,就尝试开始执行该行 (或该串) 命令;
  5. 至于如果一行的内容太多,则可以使用『 [Enter] 』来延伸至下一行;
  6. 『 # 』可做为批注!任何加在 # 后面的资料将全部被视为批注文字而被忽略!

Shell script 的默认变数($0, $1…) $0代表命令本身

  • $# :代表后接的参数个数
  • $@ :代表『 “$1” “$2” “$3” “$4” “…”』之意,每个变量是独立的(用双引号括起来);
  • $* :代表『 “$1c$2c$3c$4” 』,其中 c 为分隔字符,默认为空格键

脚本的执行

  • 先给予x权限使用相对路径或者绝对路径
  • 利用PATH变量 把脚本的路径加入PATH变量中可直接使用脚本名称执行
  • 利用sh指令 无需做权限更改
  • 利用“.”或“source”指令执行。
  • source和 . 执行脚本区别是 . 执行变量存在子程序,source执行脚本 变量会在父程序。

test指令测试功能和[]

  • test指令 0为真 1为假
  • test指令可判断文件类型,如 test -e filename 表示存在否
  • 文件的权限侦测,如 test -r filename 表示可读否
  • 两个文件之间的比较,如: test file1 -nt file2
  • 关于两个整数之间的判定,例如 test n1 -eq n2
  • 判定字符串的数据
  • 多重条件判定,例如: test -r filename -a -x filename
  • 判断符号[ ] 用法几乎和test相同 *注意 使用[ ] 时候要有空格。

条件判断语句

  • if-then基本语句
  if  [comdition]
      then
         commands
  fi

if-then else格式

  if  [comdition]
      then
         commands
      else
         commands
  fi

if-then elif格式

   if  [comdition1]
      then
         commands
   elif   [comdition2]
      then
         commands
   elif   [comdition3]
      then
         commands
   fi
  • case in esac 语句
  • function函数
    function fname () {
    程序段
    }

循环语句
while

  • while [ condition ]
    do
    程序段落
    done

until

  • until [ condition ] ]
    do
    程序段落
    done

for

  • for var in con1 con2 con3 …
    do
    程序段
    done
  • for (( 初始值; 限制值; 执行步阶 ))
    do
    程序段
    done
    随机函数 RANDOM
    shell script的调试
    sh [- nvx] scripts.sh
    -n :不要执行 script,仅查询语法的问题;
    -v :再执行 sccript 前,先将 scripts 的内容输出到屏幕上;
    -x :将使用到的 script 内容显示到屏幕上,

shell调试工具bashdb

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值