shell常见操作
一、打印
1.新建并进入sh 文档,此处在根目录下新建了一个文件夹用于存放shell操作

2. 编写文档
#!声明脚本默认解释语言、此处使用的是bash shell
echo :类似java中system.out.print(),是输出语句,用于在控制台打印


执行结果:

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

二、变量的声明
- 直接赋值
eg: a=123 - 环境变量赋值
eg:b= J A V A H O M E 需 要 加 JAVA_HOME 需要加 JAVAHOME需要加 - 直接引用
ab=a ps:容易造成变量混乱,不建议使用 - 间接引用
eg: aaa=${!a} - 替换 a=${a/23/‘x y z’} /表示替换
将a对应的值中23替换为x y z
ps:只替换第一次出现的字符
ps:使用变量时尽量加上{},可以使得读取变量时更清晰明了 - 预定义变量
$# 命令行参数或者位置参数的数量
$? 最近一次执行的命令或shell 脚本的出口状态
$* 表示所有的位置参数,其值是所有位置参数的值
变 量 是 s h e l l 脚 本 里 面 的 进 程 I D 。 S h e l l 脚 本 经 常 使 用 变量是shell脚本里面的进程ID。Shell脚本经常使用 变量是shell脚本里面的进程ID。Shell脚本经常使用 变量组织临时文件名,确保文件名的唯一性

ps: 此处的c运算也可写成 ((a=$1+$2*2)),$1和$2是通过传参传过去的,也可在文件里直接赋值
执行结果:

ps: 状态为0代表脚本执行成功,没有报错 - bash shell 脚本中变量无法存在布尔值,布尔值只能用于条件判断,并且条件判断中非空结果都为true
- 运算符
1) 算术运算符
·+ : 加
·- : 减
·* : 乘
·% : 取余
·= : 赋值
· == : 相等
·!= : 不相等
eg:

执行结果:

- 关系运算符
-eq : 等于
-ne : 不等于
-gt : 大于
-lt : 小于
-le : 小于等于
-ge : 大于等于 - 逻辑运算符:
-a或&& : 逻辑与
-o或|| :逻辑或
! : 逻辑否
ps:逻辑跟java的判断逻辑很像 - 字符串运算符
= 等于
!= 不等于
-z 判断是否为空
-n 字符串长度
$ 字符串是否为空
三、流程控制语句
- 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:
执行结果:

- 增强for循环
for a in param1 parma2 ......
do
...
done
eg:

执行结果:

6. while 循环
a=1
while [ a - lt 5]
do
....
let "a++"
done
ps:可以类别for循环的例子
- case判断
case 变量 in
值1)
....
;; -------相当于break
值2)
....
;;
值3)
....
;;
*)----相当于default
....
;;
esac
eg:

执行结果:

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

ps:此处a++的形式两种都可以
执行结果:

四、TMOUT
TMOUT :表示在用户输入空闲一段时间后自动断开
eg:

执行结果:

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

被折叠的 条评论
为什么被折叠?



