Shell编程基础--Linux小白专属

Shell Scripts介绍

概念
Shell脚本是包含一系列命令的文本文件
Shell读取此文件并执行命令

应用场景
重复性操作
批量处理事物
自动化运维
定时任务执行

预定义变量

选项说明
$#命令行参数或位置参数的数量
$?最近一次执行的命令或shell脚本的初始状态
$*表示所有的位置参数,其值是所有位置参数的值
$*变量是shell脚本里面的进程ID。Shell脚本经常使用$$变量组织临时文件名,确保文件名的唯一性

位置变量
$n:$0代表命令本身,$1- 9 代 表 顺 序 参 数 编 号 , 大 于 10 的 话 使 用 括 号 , 如 9代表顺序参数编号,大于10的话使用括号,如 910使{10}

数值运算符

选项说明
-eq等于
-ne不等于
–gt-大于–
-lt小于
-le小于或等于
–ge-大于或等于

逻辑运算符

选项说明
-a或&&逻辑与
-o或||逻辑或
-!--逻辑否-

字符串运算符

选项说明
=等于
!=不等于
–z--判断是否为空-

文件运算符

选项说明
-d判断是否为目录
-e判断文件或目录是否为存在
–f--判断是否为文件-
-r判断文件或目录针对当前用户是否可读
-w判断文件或目录针对当前用户是否可写
–x-判断文件或目录针对当前用户是否可以执行-

Shell流程控制语句

if语句结构

if 条件测试语句
then
    action
[elif 条件
then
    action
else
    action
]
fi

//if经常与test命令结合使用(本例使用test相当于在条件外加一层中括号)
num1=$[2*3]
num2=$[1+5]
if test $[num1] -eq $[num2]
then
    echo '两个数字相等!'
else
    echo '两个数字不相等!'fi

for循环
Shell的循环结构跳出循环的关键字:break和continue(和Java用法类似)

for var in item1 item2 ... itemN    //当变量值在列表里,for循环即执行一次所有命令
do
    command1
    command2
    ...
    commandN
done

for((i=0;i<=5;i++)){    //类似java的for循环
    command1
    command2
    ...
    commandN
}

while循环

while condition
do
    command
done

until循环

until condition
do
    command
done

case语句

case 值 in
模式1)
    command1
    command2
    ...
    commandN
    ;;
模式2)
    command1
    command2
    ...
    commandN
    ;;
esac

TMOUT:在用户输入空闲一段时间后自动断开

#!/bin/bash
TMOUT=3
 echo "What is your name?"
 echo "You only have $TMOUT
 seconds to answer!"
 read name
 if [ $? -eq 0 ]; then
   echo "Your name is $name"
 else
   echo "Timed out!"
   exit 1
fi

ssh中用空格分割变量

补充:
bash shell中无法存储布尔值只能用于条件判断
截取字符串命令:echo $str | awk -F ‘//’ {print $1},以//为分割符截取字符串str,取截取的第一部分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值