shell常见操作

本文详细介绍了Shell脚本的基本操作,包括打印、变量声明、流程控制语句(如if-else, for, while, case)以及TMOUT设置。通过实例展示了如何执行脚本、赋值变量、使用算术和字符串运算符以及进行条件判断。此外,还讨论了Shell脚本中变量的引用和特殊预定义变量的用法。" 6324182,162000,C语言实现单链表与基数排序,"['数据结构', '算法', 'C语言']

shell常见操作

一、打印

1.新建并进入sh 文档,此处在根目录下新建了一个文件夹用于存放shell操作
在这里插入图片描述
2. 编写文档
#!声明脚本默认解释语言、此处使用的是bash shell
echo :类似java中system.out.print(),是输出语句,用于在控制台打印
在这里插入图片描述
在这里插入图片描述
执行结果:
在这里插入图片描述

3.增加执行权限 chmod +x test.sh,使得文件能执行
ps:不赋权是执行不了的!!!
4.执行:sh文件,有三种方式
./sh文件名 默认执行目录下的文档,否则须写全路径
/bin/bash sh文件,用于具体指定命令,通常用于环境有错误时
在这里插入图片描述

二、变量的声明

  1. 直接赋值
    eg: a=123
  2. 环境变量赋值
    eg:b= J A V A H O M E 需 要 加 JAVA_HOME 需要加 JAVAHOME
  3. 直接引用
    ab=a ps:容易造成变量混乱,不建议使用
  4. 间接引用
    eg: aaa=${!a}
  5. 替换 a=${a/23/‘x y z’} /表示替换
    将a对应的值中23替换为x y z
    ps:只替换第一次出现的字符
    ps:使用变量时尽量加上{},可以使得读取变量时更清晰明了
  6. 预定义变量
    $# 命令行参数或者位置参数的数量
    $? 最近一次执行的命令或shell 脚本的出口状态
    $* 表示所有的位置参数,其值是所有位置参数的值
    变 量 是 s h e l l 脚 本 里 面 的 进 程 I D 。 S h e l l 脚 本 经 常 使 用 变量是shell脚本里面的进程ID。Shell脚本经常使用 shellIDShell使 变量组织临时文件名,确保文件名的唯一性
    在这里插入图片描述
    ps: 此处的c运算也可写成 ((a=$1+$2*2)),$1和$2是通过传参传过去的,也可在文件里直接赋值
    执行结果:
    在这里插入图片描述
    ps: 状态为0代表脚本执行成功,没有报错
  7. bash shell 脚本中变量无法存在布尔值,布尔值只能用于条件判断,并且条件判断中非空结果都为true
  8. 运算符
    1) 算术运算符
    ·+ : 加
    ·- : 减
    ·* : 乘
    ·% : 取余
    ·= : 赋值
    · == : 相等
    ·!= : 不相等
    eg:
    在这里插入图片描述
    执行结果:
    在这里插入图片描述
  1. 关系运算符
    -eq : 等于
    -ne : 不等于
    -gt : 大于
    -lt : 小于
    -le : 小于等于
    -ge : 大于等于
  2. 逻辑运算符:
    -a或&& : 逻辑与
    -o或|| :逻辑或
    ! : 逻辑否
    ps:逻辑跟java的判断逻辑很像
  3. 字符串运算符
    = 等于
    != 不等于
    -z 判断是否为空
    -n 字符串长度
    $ 字符串是否为空

三、流程控制语句

  1. if-else 语句
if
then 
...
else
....
fi

eg: 在这里插入图片描述
执行结果:
在这里插入图片描述

2 . if语句:

if 
then 
   ...
fi

eg:
在这里插入图片描述
执行结果
在这里插入图片描述
3. if-else-if语句

if
then
          ....
elfi
then
          ...
else
         ...
fi

eg:
在这里插入图片描述
执行结果:
在这里插入图片描述
4. for循环

for((a=1;a<=5;a++))
do 
...
done

eg:在这里插入图片描述
执行结果:
在这里插入图片描述

  1. 增强for循环
 for a in  param1 parma2 ......
do 
...
done

eg:
在这里插入图片描述
执行结果:
在这里插入图片描述
6. while 循环

a=1
 while [ a - lt 5]
do
   ....
   let "a++"
done

ps:可以类别for循环的例子

  1. case判断
case  变量  in  
值1)
    ....
 ;; -------相当于break
值2)
    ....
 ;;
值3)
    ....
 ;;
*)----相当于default
    ....
 ;;
esac

eg:
在这里插入图片描述
执行结果:
在这里插入图片描述

  1. until
    ps: until直到条件为true才终止
until 判断条件
do
    .....
done

eg:
在这里插入图片描述
ps:此处a++的形式两种都可以
执行结果:
在这里插入图片描述

四、TMOUT

TMOUT :表示在用户输入空闲一段时间后自动断开
eg:
在这里插入图片描述
执行结果:

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值