Linux中的shell编程

shell编程

重定向

cat >temp

输入内容到temp文件中,如果存在temp则覆盖,没有则新建

cat >>temp

追加内容

cat temp1>>temp2

将temp1中的内容追加到temp

命令执行控制符号

; 一个命令行执行多条语句

命令替换符

1.双引号:用于带空格的字符串

2.单引号 阻止shell解析字符串

3.单撇反引号:将执行命令的结果放到变量里

转义符

variable=\$bva

\阻止shell对”$“元字符的解释工作

变量

  • 变量名=字符串

  • $变量名 或 ${变量名} 访问变量

unset 变量名取消变量名

final变量

readonly 变量名

变量的数值运算

无法直接进行,可通过expr运算符

expr $num1 运算符 $num2

如果运算符为*,&,|,<,>必须用\转义符使其失去特殊含义

命令别名

alias

直接使用可查看命令别名

自定义命令别名

alias 别名=”原命令“

unalias 别名 取消别名

历史命令

history [-c] [n]

-c 清空(clear)

-n n为数字,即显示几条命令

==!!==上一条命令,感觉用处不大

第一个shell脚本

#! /bin/bash
# 注释
echo ”hello world“
date

执行

1.授权

chmod 775 脚本名

chmod a+x 脚本名

2.用 source 脚本名执行

交互式shell脚本

read -p "please input your name" name
echo "hello " $name

执行

bash name

注释

单行注释#
多行注释:<<EOF 代码 EOF 或:<<’ 代码’ 或:<<! codeContent !

分支结构

在这里插入图片描述
在这里插入图片描述

逻辑判断

只支持数字的关系运算符

-eq等于
- neqnot equal
-gtA greater than B
-ltA less than B
-ge
-le
-a and (&&)
-o or (||)
!

脚本调试

bash [-x][-n] 脚本名
-x执行脚本本同时显示脚本语句
-n检查语法错误不执行

函数

在这里插入图片描述

字符串

  • 获取字符串长度
${#string};
${#string[0]}
  • 提取子字符串
${string:1:4}

数组

  • 定义数组

值与值之间用空格隔开

数组名=(值1 值2 ... 值n)
  • 读取数组元素
${数组名[下标]} 读取单个
${数组名[@]} 读取全部
  • 读取数组长度
${#数组名[@]}

|

函数

[外链图片转存中…(img-AZme5QDw-1655274286263)]

字符串

  • 获取字符串长度
${#string};
${#string[0]}
  • 提取子字符串
${string:1:4}

数组

  • 定义数组

值与值之间用空格隔开

数组名=(值1 值2 ... 值n)
  • 读取数组元素
${数组名[下标]} 读取单个
${数组名[@]} 读取全部
  • 读取数组长度
${#数组名[@]}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值