Shell介绍与使用

常见的shell类型

  • Bourne Shell (/bin/sh)
  • Bourne Again Shell (/bin/bash)
  • C Shell (/usr/bin/csh)
  • K Shell (/usr/bin/ksh)
  • Shell for Root (sbin/sh)
使用shell

创建一个shell

vim test.sh

编写格式

#!/bin/bash
echo "hello!"

调用

./test.sh

Bash用法

变量

变量规则

  • 命名智能使用英文数字和下划线,且不能数字开头
  • 中间不能有空格
  • 不能使用标点符号
  • 不能使用关键字

命名:name = “abc”
打印:echo $name

变量的操作

name = "abc"
readonly name#只读变量,无法进行修改等其他操作

删除变量

name = "abc"
unset name

变量类型

  • 字符串:name=“abc”
  • 拼接字符串:name=“a,”$b"!"
  • 数组:name=(a b c c d)
    • 取数组:valuen=${name[n]}
    • 单独赋值:name[0]=a
    • 打印变量:echo ${name[*]}
条件分支
if条件
if 条件
then
	语句
	语句
fi
if[2==2];then echo "true";echo "false";fi

实战:

如果 a>b输出big,a<b输出samll,a=b输出equal

if [ $a -eq $b ]; then echo "equal"; elif [ $a -lt $b ]; then echo "samll"; elif [ $a -gt $b ]; then echo "big"; fi
for条件
for a in b
do 
	语句
done

实战:

循环读取文件并打印输出

for i in $(cat test.txt);do echo $i;done
while 条件
while 条件
do
	语句
done

实战:

循环读取文件并打印输出

while read i;do echo $i;done<test.txt

注:for循环打印同一行有空格会换行,while不会

Bash脚本编写

read命令

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

read使用

  • 从标准输入读取输入并赋值给变量
    • read a
  • 从标准输入读取多个内容
    • read a b c
  • 不指定变量(默认赋值给REPLY)
    • read

脚本参数传递

标识解释
$0脚本名称
$1 ~ $n获取参数
$#传递到脚本的参数个数
$$脚本运行的当前进程ID号
$*显示所有的传递参数
$?退出状态

算数运算

符号语句
+(加法)`expr $a + $b``
-(减法)`expr $a - $b`` 928sr410
*(减法)`expr $a * $b``
/(减法)`expr $a / $b``
%(取余)`expr $a % $b``
=(赋值)a=$b
==(相等)相同返回true,否正返回false
!=(不相等)不相同返回true
-eq检测相等 [ $a -eq $b ]
-ne检测相等 [ $a -ne $b ]
-gt检测左边大于右边> [ $a -gt $b ]
-lt检测左边小于右边< [ $a -lt $b ]
-ge检测左边大于等于右边>=[ $a -ge $b ]
-le检测左边小于等于右边<=[ $a -le $b ]

bash与目录命令(与Linux一致)

创建目录并生成文件

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

bash统计内存

for i in `ps aux | awk '{print $6}' | grep -v 'RSS'`
	count=$[$count+$i]
echo "$count/kb"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柴可夫斯雞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值