Bash shell脚本的语法结构

目的:自我整理,自我回顾,自我反省!

内容:干货!干货!!干货!!!

附加:不足之处希望大家指正,能给像我一样的菜鸟一点启发就最好啦。仅仅是启发。。。

感谢:感谢老男孩(老看您的博文和视频,O(∩_∩)O哈哈~),当然还有网上的各路技术大牛,参考书籍《UNIX shell》

Bash shell 脚本结构

#/bin/sh
shbang行,脚本解释器。

如:#/bin/csh,#/bin/awk...等

#
注释。

如:This doc is writed chbo.

shell元字符或通配符
*,‘‘,"",?,[],|,>,>>等

如:rm ./*

显示输出 echo "Hello,Chbo."
局部变量
var=value

var=‘value‘

var="value1 value2"

---命令结果赋值给变量---

var=`cmd`

var=$(cmd)

环境变量
---临时生效---

export var=value

var=value ;export var

---永久生效---

写入:/root/.bash_profile  /root/.bashrc

常写入:/etc/profile

脚本目录:/etc/profile.d

查看变量
echo $var_name

echo $PATH

特殊变量
$0 :打印自身

$n :${10}

$? :echo $? 判断命令执行结果

$# :传参个数

如:

[[email protected] 02]# cat 4.sh

[ $# -ne 2 ] && {

echo "must two"

exit 1

}

echo haha

传参
---交互式---

[[email protected] ]# read -t 5 -p "pls input:" a

pls input:33

[[email protected] ]# echo $a

33

---非交互式---

var1=$1

var2=$2

算术运算
1、((n=1+2))

2、n=`expr 5 + 9`

3、let n=1+2

4、n=`echo 3+3|bc`

5、n=$[2+3]

条件测试
方式一:test

方式二:[]

方式三:[[]]

---数值比较--------------------------------

-eq -ge -gt -le -lt -ne

如:[$1 -eq $2]

---字符串比较------------------------------

= !=

-n str1 检查str1的长度是否非0

-z str1 检查str1的长度是否为0

如:

[ "$str1" = "$str2" ]

[ -n "$str1" ]--->检查一个变量是否含有数据

注意:

1、加 “ ”

2、=两边必须有空格

---文件比较--------------------------------

-e

-d -f -r -w -x(excute) -s(size)

-nt (new than)

-O 检查文件是否存在并属于当前用户所有

-G 检查文件是否存在默认组与当前用户相同

例如:

[ -s $file ] 检查文件是否存在并非空

[ $file1 -nt $file2 ] 检查file1比file2新

条件语句
if [ -f $file ]

then

echo 0

else

echo 1

fi

<===>

[ -f $file ]&&echo 0||echo 1

-------------------------------------------

if [  ]

then

statements

elif

then

statements

elif

then

statements

else

statements

if

-------------------------------------------

case var_name in

pattern1)

statements

;;

pattern2)

statements

;;

pattern3)

statements

;;

*)

default value

;;

esac

循环语句
for n in `seq 10`

do

echo 10.0.0.$n

done

---------------------------

while [  ]

do

commands

done

----------------------------

until [  ]

do

commands

done

函数
function name(){

指令

return n

}

执行:

  1. 先定义函数,才能调用
  2. 调用函数,直接写函数名
脚本的执行
  1. sh script_name
  2. chmod +x path/script_name;path/script_name
  3. source script_name或. script_name

    (当前shell可调用脚本里的内容)

时间: 2025-01-03 23:15:19

Bash shell脚本的语法结构的相关文章

8.11_Linux之bash shell脚本编程入门篇(一)

什么是bash shell脚本编程? 答:Linux里面有多种shell,而CentOS和redhat的默认shell是bash shell.至于shell脚本,这个跟windows操作系统里面的批处理文件有点像(.bat的文件).不知道大家还是否记得Linux的哲学思想吗?其中有那么两点点:由众多目的的单一应用程序组成:一个程序只做一件事,且做好:组合目的的单一的小程序完成复杂的任务.我觉得shell脚本编程就很好的体现了这个哲学思想.shell脚本利用shell的功能缩写的一个"程序&quo

Bash Shell脚本编程笔记总结(一)

本文是上课笔记总结,涉及细节知识点会在以后文章说明! bash脚本编程: 脚本程序:解释器解释执行: shell: 交互式接口:编程环境: shell: 能够提供一些内部命令,并且能通过PATH环境变量找到外部命令:把命令提交给内核启动为进程: 编程环境: 流程控制语句: 顺序执行: 循环执行: 选择执行: 条件测试:真.假 $? 命令的状态结果: 0: 真 1-255: 假 过程式的编程语言的元素:变量.流程.函数.数组 变量:局部变量.本地变量.环境变量.位置参数变量.特殊变量 变量: 数值

系统管理中 bash shell 脚本常用方法总结

FROM: http://www.cnblogs.com/hunterfu/archive/2010/02/23/1672129.html 在日常系统管理工作中,需要编写脚本来完成特定的功能,编写shell脚本是一个基本功了!在编写的过程中,掌握一些常用的技巧和语法就可以完成大部分功能了,也就是2/8原则. 1. 单引号和双引号的区别 单引号与双引号的最大不同在于双引号仍然可以引用变量的内容,但单引号内仅是普通字符 ,不会作变量的引用,直接输出字符窜.请看如下例子: [[email protec

BASH SHELL 脚本基础

什么是shell     Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口.它是命令语言.命令解释程序及程序设计语言的统称. shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层.当从shell或其他程序向Linux传递命令时,内核会做出相应的反应.            shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用.用户在提示符下输入的命令都

shell脚本之选择结构(一)

bash之选择结构 选择程序结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程.(关于shell脚本中选择结构的详细使用方法请查看帮助文档)      if语句的几种结构     (一)if  判断条件  :then              命令           fi (二)if   判断条件 :then                      命令                else                      命令 fi       

Linux Shell——bash shell 脚本简介

bash shell 脚本简介 shell 运行环境 如果你运行的是 Unix 或 Linux 系统,例如 Ubuntu,Red Hat,SUSE Linux,还有macOS,都是内置了 bash shell 的,所以你不需要额外配置所谓的开发环境. 我的 shell 环境是 macOS Sierra 版本,如果你用的是其他 Linux 系统,后面的例子基本上都是可以运行的. 首先,打开Terminal 命令行,先检查下你的系统的 shell 版本: echo $BASH_VERSION bas

8.15_Linux之bash shell脚本编程入门篇(二)以及文件查找和压缩的使用

bash shell脚本编程入门篇(二) read命令的使用 作用: 使用read来把输入值分配给一个或多个shell变量: -p指定要显示的提示 -t TIMEOUT read从标准输入中读取值,给每个单词分配一个变量,所有剩余单词都被分配给最后一个变量 EX.read -p "Enter a filename:" FILE 条件选择之if的使用 if的作用:选择执行(注意:if语句可嵌套) 单分支 if 判断条件;then 条件为真的分支代码 fi EX.单分支案例 双分支 if

Bash shell编程的语法知识点(1)

Bash shell脚本编程知识点如下(初学,不全,欢迎讨论补充): shell简介 脚本的简单介绍 变量和引用 算术运算 交互式编程 选择判断 条件测试 循环 函数 shell简介 shell是一种具备特殊功能的程序,提供了用户与内核进行交互操作的一种接口,它接收用户输入的命令,并把它送入内核去执行,shell分为图形界面和命令界面(我们操作的window系统就是一种图形化shell,我们要学的bash也是she一种命令界面的shell). shell与内核和用户的关系图如下: bash sh

8.17_Linux之bash shell脚本编程入门篇(三)之循环以及函数function的使用

bash shell脚本编程入门篇(三)之循环 什么是循环执行? 将某代码段重复运行多次 重复运行多少次: 循环次数事先已知 循环次数事先未知 有进入条件和退出条件 相关命令:for, while, until,selet, for命令的使用 作用: 依次将列表中的元素赋值给"变量名"; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束 命令格式: for 变量名 in 列表; do 循环体(正常执行的执行命令) 语句1 语句2 语句3 ... done 列表生成方式: (