Linux shell脚本编程

shell脚本

shell为非类型的解释型语言,即给变量赋值时就已为其定义。

#!/bin/bash  //环境说明
- chmod o+x 文件名  //命令行运行
  • /bin/bash 文件名 //同上作用
  • $变量名 //引用变量
  • $0 //当前程序的名称(系统早先定义)
  • $n //第n个参数
  • $* //全部参数
  • $PWD //当前所在的目录
  • -f //文件是否存在
  • -d //目录是否存在
  • -s //检查文件是否为空(比较成功时表示含有数据;通常在删除文件时使用)
  • -nt;-ot //比较一个文件和另一个文件的新旧
  • -x;-w; //执行权限和写入权限
  • -eq(等于)-ne(不等于)-lt(小于)-gt(大于)-le(小于等于)-o(或,单方面成立)-a(与,多方面成立)-z(空字符串)
  • (())[[]] //双圆括号表示数学表达式,双方括号表示高级字符串处理函数 //通常用于算术判断或计算
  • if开头 fi结尾 if ();then(if语句只执行返回值为成功返回(0)的命令 而跳过错误命令)(可以使用布尔逻辑来执行if [] || [];if [] && [])
  • elif
  • case命令:eg:

    case var in pattern1 | pattern2) command1;;

    pattern3) command2;;

    *) default command3;;

    esac

  • 括号中开头和结尾要空格
  • while ();do

    done

  • for var in list

    do

    commands

    done

  • until语句 同while 但是相反 知道为0停止
  • C式for循环:eg:

    for(( i=1; i<10; i++ ))

    注意:变量的赋值可以包含空格;变量不以美元符号做前缀;迭代处理式中不含expr式

  • if和while后要空格
  • 反引号的内容当成命令来执行
  • date +%y%m%d //日期按年月日格式输出
  • wc命令对数据中的文本计数,默认情况下生成三个值:文本行数,单词数,字节数
  • 退出脚本时会返回一个0到255的整数值 可以使用$?来捕捉这个值 判断脚本是否执行成功(返回0一般表示执行成功)(可以自己设置脚本退出的返回代码在0到255之间的一个数;eg:exit 5;没设置时 1为未知错误,2为误用shell命令,126为用户无权限执行该命令,127为没有找到命令)
  • 可以通过暂时更改环境变量中的IFS变量来使脚本忽略字段分隔符(空格,制表,分隔)eg: IFS = $‘/n‘

    重定向:

  • 输入重定向:eg:command < inputfile (箭头方向为数据流方向)
  • 内置输入重定向:eg:

    $wc << EOF

    test.txt

    EOF

    (EOF为数据标记,开始和结尾处必须相同)

  • expr命令可以处理等式:eg

    $expr 1+5

    也可以使用$[1 + 5]

  • bc命令可以调用bash的计算器 需要离开时输入quit(scale设置小数位大小 同时可以在脚本中使用bc命令 eg:
variable`echo "options;express | bc"`

bc中创建的变量只在计算器中有效,在shell脚本中无效

原文地址:https://www.cnblogs.com/mercuialC/p/9032018.html

时间: 2024-10-07 01:18:14

Linux shell脚本编程的相关文章

Linux Shell脚本编程学习笔记和实战

http://www.1987.name/141.html shell基础 终端打印.算术运算.常用变量 Linux下搜索指定目录下特定字符串并高亮显示匹配关键词 从键盘或文件中获取标准输入 [read命令] 文件的描述符和重定向 数组.关联数组和别名使用 函数的定义.执行.传参和递归函数 条件测试操作与流程控制语句 获取时间日期格式和延时 [date.sleep命令] 内部字段分隔符IFS和脚本的调试DEBUG 显示.读取或拼接文件内容 [cat命令] 文件查找与打印文件列表 [find命令]

Linux Shell脚本编程while语句

Linux Shell脚本编程while语句案例 1,每隔3秒,打印一次系统负载 #!/bin/bash while truedo    uptime    sleep 3done 2,把监控结果保存到文件,在后台执行,然后用tail -f监控文件变化[email protected]:~/linux/shell/flow_control$ sh while.sh &[1] 12867 #!/bin/bash while truedo    uptime >> log.txt    s

Linux shell脚本编程基础之练习篇

shell脚本编程基础之练习篇. 1.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息. #!/bin/bash if [ $# -ne 1 ] then echo "请输入一个参数" exit else echo "参数正确" newfile=$1 fi #echo `grep "^#\!" ${newfile}` if ! grep "^#\!" ${newfile} &>/

Linux shell脚本编程详解及应用实例

什么是shell脚本? 1.shell脚本:是一种解释型语言,不需要提前进行编译,只需将代码转化成中间代码,边解释边运行,执行效率稍逊于编译型语言,跨平台性好.而编译型语言则需要提前进行编译转化为二进制文件,靠近底层硬件执行效率高,可移植性差. 2.shell的首行严格来说使用shebang机制:由#和!构成的字符序列,在类unix系统中程序的载入器将其后的内容,当做解释器的指令,并将载有shebang文件路径作为解释器的参数,且予以调用. shell及其他解释型语言的一般格式?  #!/bin

Unix/Linux shell脚本编程学习--Shell Script II

Shell Script II 10.Shell echo命令 echo "OK!\n”   #显示换行 echo "It is a test" echo无拼接字符时后一般可以不使用”引号”,从上面可看出,双引号可有可无,单引号主要用在原样输出中. 显示结果重定向保存至文件: vim myfile 创建文件 echo "It is a test" > myfile cat myfile 查看文件内容 若需要原样输出字符串(不进行转义),请使用单引号.

Linux Shell脚本编程while语句案例

1,每隔3秒,打印一次系统负载 #!/bin/bash while true do uptime sleep 3 done 2,把监控结果保存到文件,在后台执行,然后用tail -f监控文件变化 [email protected]:~/linux/shell/flow_control$ sh while.sh & [1] 12867 #!/bin/bash while true do uptime >> log.txt sleep 3 done [email protected]:~/

Linux Shell脚本编程基础

1. 脚本是一个包含一系列命令序列的文本文件,当运行这个脚本文件时,文件中包含的命令序列将得到执行. 2. 脚本主要由两部分组成:脚本解释器和命令序列 注:#!/bin/bash 指明脚本解释器为Bash Shell 3. Shell脚本允许用户设置和使用自己的变量,变量可以使数字或者字符串,用户无需指定其类型,也无需在使用前定义. 注:(1)定义时无需加"$" (2)赋值“=”左右不能有空格 (3)注释用“#” 4. 同C程序一样,Shell脚本也可以使用命令行参数 (1)$#:传入

Linux shell脚本编程入门 (一)

环境变量 一些命令 shell脚本中经常出现各种环境变量,因此要写脚本,必须先来了解环境变量.常见的处理环境变量的命令,列举在下面 set 用来显示本地变量 env 用来显示环境变量 export 用来显示和设置环境变量 source 后面跟一个文件,可以直接执行文件里的脚本命令并更新 常见的环境变量 位置参数 相当于C语言中, main函数的argv数组, 这里用 $num 表示,其中 num 是指代一个数字. 见下面的程序实例 # foot.sh #!/bin/sh echo "#0 $0&

Linux 第九天: (08月11日) Linux Shell脚本编程

Shell脚本是包含一些命令或声明, 并符合一定格式的文本文件格式要求 运行shebang机制#!/bin/bash bash -n /path/to/some_script  检测脚本中的语法错误bash -x /path/to/some_script  调试执行 bash中变量的种类本地变量 生效范围 当前shell进程, 对当前外进程, 包括子shell无效环境变量 生效范围 当前shell进程和子进程局部变量 生效范围 当前shell进程中某代码片段 通常指函数位置变量 $1 $2 让脚