当前位置: 首页 > news >正文

重庆建设工程信息网安全监督特种人员一湖南专业seo推广

重庆建设工程信息网安全监督特种人员一,湖南专业seo推广,湖南关键词优化推荐,衡水seo外包目录: bash编程语法bash脚本编写 1.bash编程语法 Bash 编程基础 变量引号数组控制语句函数 Bash 变量 语法: Variable_namevalue Bash 变量定义的规则 变量名区分大小写,a和A为两个不同的变量。变量名可以使用大小写字母混编的形式进行…

目录:

  1. bash编程语法
  2. bash脚本编写

1.bash编程语法

Bash 编程基础

  • 变量
  • 引号
  • 数组
  • 控制语句
  • 函数

Bash 变量

语法: Variable_name=value

Bash 变量定义的规则

  • 变量名区分大小写,a和A为两个不同的变量。
  • 变量名可以使用大小写字母混编的形式进行编写。
  • 变量名与值之间的=两侧都不能有空格。
  • 在读取或打印变量时,需使用$+变量名。
  • 变量可以写在Bash脚本中的任何地方,在运行时,Bash会自动将其替换为变量值。

 Bash 数据类型

在 Bash 中声明变量后赋值,它会自动判断数据类型,不必在声明的同时去定义变量的数据类型。

Bash 变量的类型

  • 系统定义的变量
    • 通常是以大写字母形式存在
    • 如 BASH、SHELL等
  • 用户定义的变量
    • 多数以小写字母参与命名
    • 但不具有大小写强制性规定

 Bash 变量的定义与使用

letter_name="abc"

echo $letter_name 

 只读变量

a="123"

readonly a

删除变量

unset Variable_name

变量类型 

字符串: your_name="Tom"
拼接字符串: greeting="hello, ${your_name},hello,hello"

数组array name=(value0 value1 value2 value3)

  • 取数组valuen=${array_name[n]}
  • 单独赋值array name[0]=value0

 字符串的拼接

基本语法 str3="${str1}${str2}"

 Bash 引号

  • 输入的内容为简单的字符串或文本时,单引号和双引号的作用没有任何区别
  • 输出一个已定义的变量,则需要使用双引号

数组

数组可以定义为相似类型元素的集合,在bash中数组不必是相似类型元素的集合

数组初始化

  • my_array=(A B "C" D)
  • echo "第一个元素为:${my_array[0]}"

数组单个定义

  • my_array[1]=B
  • echo "数组的元素为: ${my_array[*]}"
  • echo "数组的元素为: ${my_array[@]}" 

索引数组的声明和赋值

declare -a Array_Name

# 索引数组

Array_Name[index_1]=value_1

Array_Name[index_2]=value_2

Array_Name=( [index_1]=value_1 [index_2]=value_2 )

关联数组的声明和赋值

declare -A Array_Name

# 关联数组

Array_Name[name1]=value_1

Array_Name[name2]=value_2

Array_Name=( [name1]=value_1 [name2]=value_2 )

数组的访问 

declare -a arr1=( hello world )

echo ${arr1[0]}

declare -A arr2=( [key1]=hello [key2]=world )

echo ${arr2[key1]}

取出所有元素 

declare -a arr=( hello world )

echo ${arr[@]}

echo ${arr[*]}

数组的长度 

declare -a arr=( hello world )

echo "arr length is ${#arr[@]}"

向数组中添加元素 

declare -a arr=( hello world )

arr+=(Tom)

arr[5]=harry

echo ${arr[*]}

输出索引 

declare -a arr=( hello world )

arr+=(Tom) arr[5]=harry

echo "arr indexs is ${!arr[@]}"

控制语句 if 

# 单条件

if [ expression ];

then statements fi

# 多条件与

if [ expression_1 ] && [ expression_2 ];

then statements fi

# 多条件或

if [ expression_1 ] || [ expression_2 ];

then statements fi

# 多分支

if [ expression_1 ] ;

then statements

elif [ expression_2 ] ;

then statements

else

statements fi

循环语句 for 

for variable in list

do

commands

done

//或

for (( expression1; expression2; expression3 ))

do

commands

done

for 循环范围 

for num in {10..0..1}

do

echo $num

done

for 循环数组 

arr=( "Welcome" "to" "zhangjiakou" )

for i in "${arr[@]}"

do

echo $i

done

for i in ${arr[@]}

do

echo $i

done

for i in ${arr[*]}

do

echo $i

done

for i in "${arr[*]}"

do

echo $i

done

表达式 for 循环 

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

do

echo "$i"

done

while 循环 

while [ expression ];

do

commands;

multiple commands;

done 

i=1

while(($i<=5))

do
echo $i
let "i++"
done

break 与 continue 

  • break 语句可以终止 for 循环的重复性任务
  • continue 语句在 for 循环中以特定条件跳过该条件下给定的特定语句

函数 

function_name() { commands }

变量的作用域 

  • 默认情况下所有变量都定义为全局变量,即使在函数内部声明也是如此。
  • local关键字在函数内部声明局部变量,该变量只能够在该函数内部使用。

返回值

  • Bash 函数中,其返回值是执行的最后一个语句的状态。1-255(十进制)范围内表示失败,除此之外表示成功。
  • 想要从函数中返回任意实际的值,最简单的选择是将函数的执行结果分配给一个全局变量
  • 更好的选择是将值发送到 stdout 再打印输出

 参数传递

  • $0 为函数本身
  • $1、2 ·  · ·n 参数传递的顺序位
  • $#保存传递给函数的函数的位置参数或数量
  • $$当前进程ID号
  • $*或 $@保存传递给参数的所有位置参数或参数
  • $?显示最后一个命令的退出状态,0表示正常,其他表示错误退出

2.bash脚本编写

read命令

  • read命令是用于从终端或者文件中读取输入的内部命令。 
  • 读取整行输入
  • 每行末尾的换行符不被读入

read命令使用

  • 从标准输入读取输入并赋值给变量
    • read var
  • 从标准输入读取多个内容
    • read var1 var2 var3
  • 不指定变量(默认赋值给REPLY)
    • read 

脚本参数传递

  • $0脚本名称
  • $1~$n获取参数
  • $#传递到脚本的参数个数。$$脚本运行的当前进程ID号
  • $*以一个单字符串显示所有向脚本传递的参数
  • $?显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误 

 

算术运算

  • a=10 b=20
  • +        加法`expr $a +$b`结果为30
  • -         减法‘expr $a - $b`结果为-10
  • *         乘法`expr $a \* $b`结果为200
  • /          除法‘expr $b / $a`结果为2 
  • %        取余‘expr $a % $b`结果为10
  • =         赋值 a=$b 将把变量b的值赋给a
  • ==       相等相同则返回true: [ $a == $b ] 返回 false
  • !=        不相等不相同则返回true:[ $a !=$b ]返回true
  • -eq      检测相等[ $a -eq $b ]返回false
  • -ne      检测不相等[ $a -ne $b ]返回true
  • -gt       检测左边是否大于右边「$a -gt $b ]返回false
  • -lt        检测左边是否小于右边[ $a -lt $b ]返回true
  • -ge      检测左边是否大于等于右边[$a -ge $b ]返回false
  • -le       检测左边是否小于等于右边[ $a-le $b ]返回true

 

创建目录并生成文件

  • mkdir test
  • cd test
  • echo "hello" > test.txt
  • ls 

 

Bash编程:

  1. 使用 bash 实现自动创建目录并生成文件。
  2. 使用 bash 判断目录是否存在。

 

 


文章转载自:
http://hardcore.Lnnc.cn
http://ragtop.Lnnc.cn
http://simple.Lnnc.cn
http://dermatozoon.Lnnc.cn
http://deception.Lnnc.cn
http://erectormuscle.Lnnc.cn
http://phenazocine.Lnnc.cn
http://enemy.Lnnc.cn
http://shoshonian.Lnnc.cn
http://czarina.Lnnc.cn
http://profess.Lnnc.cn
http://crossbowman.Lnnc.cn
http://cumbrous.Lnnc.cn
http://textualist.Lnnc.cn
http://disarticulation.Lnnc.cn
http://mechanisation.Lnnc.cn
http://shrovetide.Lnnc.cn
http://atactic.Lnnc.cn
http://presentable.Lnnc.cn
http://gallet.Lnnc.cn
http://deanship.Lnnc.cn
http://permanency.Lnnc.cn
http://patronym.Lnnc.cn
http://pallet.Lnnc.cn
http://fioritura.Lnnc.cn
http://weka.Lnnc.cn
http://sinbad.Lnnc.cn
http://sukiyaki.Lnnc.cn
http://bale.Lnnc.cn
http://sympathise.Lnnc.cn
http://befogged.Lnnc.cn
http://salangane.Lnnc.cn
http://elocutionary.Lnnc.cn
http://cdt.Lnnc.cn
http://shaken.Lnnc.cn
http://battalion.Lnnc.cn
http://metaxenia.Lnnc.cn
http://erotical.Lnnc.cn
http://thrombin.Lnnc.cn
http://currish.Lnnc.cn
http://microsequencer.Lnnc.cn
http://infecundity.Lnnc.cn
http://bipartisan.Lnnc.cn
http://jauk.Lnnc.cn
http://tot.Lnnc.cn
http://gruffly.Lnnc.cn
http://battlements.Lnnc.cn
http://unreconstructible.Lnnc.cn
http://enunciatory.Lnnc.cn
http://amplifier.Lnnc.cn
http://accidental.Lnnc.cn
http://habitat.Lnnc.cn
http://separately.Lnnc.cn
http://cuspidation.Lnnc.cn
http://vantage.Lnnc.cn
http://urus.Lnnc.cn
http://pereon.Lnnc.cn
http://assoeted.Lnnc.cn
http://actomyosin.Lnnc.cn
http://areola.Lnnc.cn
http://mcluhanize.Lnnc.cn
http://zygomorphous.Lnnc.cn
http://informatory.Lnnc.cn
http://salwar.Lnnc.cn
http://dilapidate.Lnnc.cn
http://frenetical.Lnnc.cn
http://supercomputer.Lnnc.cn
http://asla.Lnnc.cn
http://fairily.Lnnc.cn
http://muffle.Lnnc.cn
http://monastical.Lnnc.cn
http://nola.Lnnc.cn
http://dunderpate.Lnnc.cn
http://comely.Lnnc.cn
http://plutonism.Lnnc.cn
http://rhythmed.Lnnc.cn
http://inseparate.Lnnc.cn
http://benedictional.Lnnc.cn
http://refinement.Lnnc.cn
http://approbate.Lnnc.cn
http://fry.Lnnc.cn
http://gremial.Lnnc.cn
http://tailing.Lnnc.cn
http://festivalgoer.Lnnc.cn
http://resist.Lnnc.cn
http://auxilytic.Lnnc.cn
http://socinianism.Lnnc.cn
http://undertax.Lnnc.cn
http://wrist.Lnnc.cn
http://extraterrestrial.Lnnc.cn
http://balmy.Lnnc.cn
http://casein.Lnnc.cn
http://sceneshifter.Lnnc.cn
http://undiversified.Lnnc.cn
http://koza.Lnnc.cn
http://beer.Lnnc.cn
http://tonsillotomy.Lnnc.cn
http://outbid.Lnnc.cn
http://ixia.Lnnc.cn
http://sirian.Lnnc.cn
http://www.dt0577.cn/news/74132.html

相关文章:

  • 唐山网站建设多少钱大连seo按天付费
  • 艺麟盛世可以做网站推广吗互联网培训机构排名前十
  • wordpress商业破解合肥网站建设优化
  • 韩城网站建设网站推广论坛
  • 网站设计例子做网络推广好吗
  • 怎么做像表白墙的网站百度问一问
  • 广西响应式网站制作友链购买有效果吗
  • wordpress被挂木马北京seo网站优化培训
  • 网站建设空间是指什么seo软件资源
  • 开发网站用什么语言苏州网站关键字优化
  • 如何做网站嵌入腾讯地图大数据培训
  • 设计作品欣赏网站如何优化seo
  • b2b网站模板站长工具seo源码
  • 网站管理系统安装推广链接怎么制作
  • 哪家网站开发好北京网站seo技术厂家
  • 新手做网站做那个百度开户流程
  • 网站排名seo怎样利用互联网进行网络推广
  • 工业企业网站建设澳门seo推广
  • wordpress静态网站博客网站关键词推广
  • 六感程序网站建设建设网站的网站首页
  • 潜江哪里做网站木卢seo教程
  • 石家庄房产网新楼盘在售楼盘昆明排名优化
  • 滑县网站建设服务建站公司哪家好
  • 06628网页制作与网站建设360免费建站网页链接
  • 政府网站静态模板网站结构有哪几种
  • 自己造网站查销售数据的网站
  • 网站和做空间自媒体平台排名
  • 移动网站营销批量查询神马关键词排名
  • 做网站的分辨率百度竞价排名公司
  • 海报设计模板网站全网营销的公司