ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Bash脚本编写

2022-03-10 13:04:55  阅读:194  来源: 互联网

标签:脚本 返回 read expr echo bash test 编写 Bash


1 bash基本使用

1.1  read命令

read命令是用于从终端或者文件中读取输入的内部命令

读取整行输入

每行末尾的换行符不被读入

read命令的使用

从标准输入读取输入并赋值给变量

read var

从标准输入读取多个内容

read var1 var2 var3

不指定变量(默认赋值给REPLY)

read

脚本参数传递

$0脚本名称

$1-$n获取参数

$#传递到脚本的参数个数

$$ 脚本运行的当前进程ID号

$* 以一个单字符串显示所有向脚本传递的参数

$? 显示最后命令的退出状态。0表示没有错误,其他任何值表示有错误

1.2  基本运算

a=10 b=20

+ 加法 ‘expr $a+$b’ =30

-  减法 ‘expr $a-$b’ =-10

* 乘法  ‘expr $a\*$b’ =200

/ 除法 ‘expr $b/$a’=2

% 取余 ‘expr  $b % $a’ 结果为10

= 赋值 a=$b 将把变量b 的值赋给a

==相等 相同则返回true;[ $a==$b ] 返回false

!=不相等 不相同则返回true;[ $a != $b ]返回false

-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

2 bash与linux命令的组合

2.1 bash与目录命令

创建目录并生成文件

mkdir test

cd test

echo “hell0”>test.txt

ls

bash与内存

for i in ‘ps aux|awk’{print $6}’ |grep –v ‘RSS’

count=$[$count++$i]

echo=”$count/kb”

练习:文件参数传递

在test.sh中输入下列内容

 

 

 执行

chmod +x ./test.sh #使脚本具有执行权限

./test.sh #执行脚本

运行命令:bash test.sh 11 22 33 结果:

 

练习:基本运算(`是tab上面那个键 波浪线那个键)

a=10

b=20

echo `expr $a + $b`

echo `expr $a - $b`

echo `expr $a \* $b`

echo `expr $a / $b`

echo `expr $a % $b`

执行 bash test.sh

 

 

说明:可以直接在命令行输出,也可以保存文件输出,运算符和变量直接必须要有一个空格不然会报错 乘号之前需要转义,不然也会报错

 

练习:判断

if [ $a == $b ]; then echo "big";fi(注意空格)

 

ps  -aux | awk ‘{print $3}’ 取出第三行

 

ps  -aux | awk ‘{print $3}’ | grep –v %CPU 去掉%cpu

 

 

标签:脚本,返回,read,expr,echo,bash,test,编写,Bash
来源: https://www.cnblogs.com/lgs-tech/p/15988984.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有