shell操作

bash快捷键

Ctrl+c

强制终止当前命令

Ctrl+l

清屏

Ctrl+a

光标移动到当前命令行首

Ctrl+e

光标移动到当前命令行尾

Ctrl+u

删除一行光标之前的内容

Ctrl+z

放入后台执行

Ctrl+r

在历史命令中搜索

bash常用命令

history

查看历史命令

-c

清除历史命令

+”字符串”,执行以字符串开头的历史命令

>> 

命令 >> 文件,将命令结果输出重定向到文件(追加到文件)

覆盖文件

2>>文件,记录错误信息(文件名前无空格)

命令 &>>文件,不论对错都追加到文件(文件名前无空格)

命令 >>  filea  2>>fileb,正确结果保存到文件a,错误到文件b(错误无空格)

命令1 ; 命令2,多个命令顺序执行

&&

命令1 && 命令2,命令1正确才会执行命令2

||

命令1 || 命令2,命令1错误才会执行命令2

|

命令1 | 命令2,将命令1的结果当作命令2的操作对象

shell脚本

变量

# 定义变量
name="martin"
# 使用变量
echo "$name"
# 变量传递
now=`date +%Y%m%d%H%M%S`
# 判断上一条命令是否执行成功
echo "$?"

# $0代表脚本名,$1 代表脚本的第一个参数,$2 代表脚本的第二个参数
#!/bin/bash
echo "脚本名是$0"
echo "一共有$#个参数"
echo "第一个参数是$1"
echo "第二个参数是$2"

# 读取从键盘输入的变量
read -p "请输入名字:" name
echo "你好,$name"

运算符

shell的运算符有+、-、*、/、%

# 取余
echo $(( $b % $a ))

# 比较两个数字,相等返回true
if [ $a == $b ];then
    echo "a 等于 b"
else
    echo "a 不等于 b"
fi

还可以用-eq作为等于关系运算符,不等于-ne、大于-gt、小于-lt、大于等于-ge、小于等于-le,   

if [ $a -ge $b ];then
    echo "ge判断结果:a 大于或等于 b"
else
    echo "ge判断结果:a 小于 b"
fi

# 与运算-a、或-o、非!
if [ $a -eq 2 -o $b -eq 2 ];then
    echo "a 和 b 至少有一个等于 2"
else
    echo "a 和 b 都不等于 2"
fi

其他比较运算

# 判断字符串a长度是否等于0
if [ -z $a ]

# 判断文件夹是否存在
if [ -d "$dir" ]

# 判断文件是否存在
if [ -f "$file" ]

# 判断文件或者文件夹是否存在
if [ -e "$file" ]

流程控制

# 分支判断
read -p "请输入分数:" score
if [ $score -ge 0 -a $score -lt 60 ];then
    echo "不及格"
elif [ $score -ge 60 -a $score -le 100 ];then
    echo "及格"
else
    echo "输入的分数不正确"
fi

# case
case "$1" in
"start")
    echo "Begin start mysql"
;;
"stop")
    echo "Begin stop mysql"
;;
*)
    echo "Please enter the correct command"
;;
esac

# 循环
for i in `seq 100`
do 
    echo $i
done

函数

#定义函数
function sum() {
    numsum=$(( $1 + $2 ))
    return $numsum
}
#使用函数
sum 1 2
echo "$?"

重定向

# 把bbb写入到1.txt,并且覆盖之前的内容
echo "bbb" > 1.txt

# 把ccc追加到1.txt,之前的内容会保留
echo "ccc" >> 1.txt

# 把aaa执行错误的信息写入到err.log,2代表错误信息
aaa 2> err.log

# 把aaa执行的所有结果重定向到2.txt,不论aaa执行成功还是执行报错
aaa &> 2.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值