linux_编写一个shell脚本
1|0linux|编写一个shell脚本
1|1编写第一个shell
1|2Shell变量
系统变量
用户自定义变量
定义shell变量
变量不可用数字开头
等号两侧不可用空格
变量一般习惯为大写
静态变量 - redonly 只读不可赋值
将指令结果赋值给变量
设置环境变量
环境变量
在文件中创建环境变量
自定义环境变量可以在命令行中设置和创建,但用户退出命令时这些变量值就会丢失。如果希望永久保存环境变量,可在用户家目录下的.bash_profile 或 .bashrc文件中,或者全局配置/etc/bashrc或 /etc/profile 文件中定义
在/etc/profile添加:
要使配置的全局变量立即生效
输出
位置参数变量
- 执行shell脚本的时候如果想要获取到命令行的参数信息
- 如:./xxx.sh a b
- a和b是传入命令行的值
基本语法
- $n |n为数字,$0代表命令本身 $1-$9代表第一到第九个参数,十以上的参数需要用{}包含$
- $* | 这个变量代表命令行中的所有参数,$*把所有的参数看做一个整体
- $@ | 这个变量也代表命令行中的所有参数 ,不过$@把每个参数 区分对待
- $# | 这个变量代表命令行中的所有参数的个数
例:
输出
系统定义的变量
-
$$ | 当前进程的进程号(PID)
-
$! | 后台运行的最后一个进程号(PID)
-
$? | 最后一次执行命令的返回状态
- 值为0 正确执行成功 否则执行不正确
例:
1|3运算符
shell中的运算符
- $((运算式))或者$[运算式] 或者 expr m+n //expression表达式
- expr 运算符后面要有空格,如果将expr的结果赋值给某个变量,使用``
- expr 运算符前后面要加空格
- expr
\*,/,%
乘除取余
例:
输出
1|4条件判断
判断语句
- = 字符串比较
- 两个整数的比较
-lt 小于
-le 小于等于
-eq 等于
-gt 大于
-ge 大于等于
-ne 不等于
- 按照文件权限进行判断
-r 有读的权限
-w 有写的权限
-x 有执行的权限
- 按照文件类型进行判断
-f 文件存在并且是一个常规的文件
-e 文件存在
-d 文件存在并且是个目录
1|5流程控制
if[条件判断式]
then
代码
fi
或者
if[条件判断式]
then
代码
elif[条件判断式]
then
代码
fi
中括号和条件判断中间有空格
例1:
输出
例2:
输出
case语句
语法
例:
输出
for循环
基本语法
例
输出
while循环
基本语法
具体差不多和for循环一样
1|6函数
定义函数格式
例
输出
__EOF__

本文作者:~内个臣呐~
本文链接:https://www.cnblogs.com/Xin-chen/p/16871943.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/Xin-chen/p/16871943.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具