[Linux] Linux命令行与Shell脚本编程大全 Part.3
2024-08-30 22:39:54
Shell
- Shell 是管理命令行的程序(包在内核外的壳)
- 不同Shell版本演化关系如下,一般Linux中会自动安装Sh和Bash(Bash比Sh好写,Zsh最好用)
- .bashrc:Bash 的配置文件
- 安装Ksh
- sudo apt install ksh
- 切换Shell
- chsh
- 运行脚本(必须在脚本目录中)
- ./test.sh
- 调试脚本
- bash -x test.sh
变量
- echo:在终端上显示传入的信息
- -e:转义字符生效
- echo -e "First line\nSecond line"
- $:访问变量
- echo $message
- -e:转义字符生效
- 引号
- ‘...’:忽略所有特殊字符
- "...":忽略除 $,`,\ 外的特殊字符
- `....`:在脚本中执行命令
- read:读取用户输入信息
- read name
- echo "Hello $name !"
- -p:显示提示信息
- -n:限制输入字符数目
- -t:限制输入时间
- -s:隐藏输入内容(如输入密码)
- 环境变量
- env:显示所有环境变量
- SHELL:当前使用哪种Shell
- PATH:可执行文件的路径
- HOME:家目录所在路径
- PWD:当前目录
- export:将属性赋值给变量
- 脚本参数
- $0:脚本名称
- $1,$2...:传递给脚本的参数
- $#:参数的数目
循环
- while
- until
- for
函数
- 定义
- 函数名() { 函数体 }
- function 函数名{ 函数体 }
- 注意
- 圆括号中不可放置参数
- 函数定义置于调用之前
- 重载命令
- 把函数名取成与命令行命令相同的名字
参考
Shell脚本编程
http://www.ruanyifeng.com/blog/2020/04/bash-tutorial.html
Shell脚本中$0、$?、$!、$$、$*、$#、$@
https://blog.csdn.net/helloxiaozhe/article/details/80940066
最新文章
- 由乱序播放说开了去-数组的打乱算法Fisher–Yates Shuffle
- JDBC查询数据库中的数据
- Oracle的AWR报告分析
- (转载)Autodesk面试技术题解答
- js多线程?
- 入侵检测课设之Libnids开发包
- ajax普通弹窗;Bootstrp弹窗
- 三星手机 Samsung Galaxy S3 无法复制粘贴的不完美解决方法
- poj 1716 差分约束
- linux mkfs命令参数及用法详解---linux格式化文件系统命令(包括swap分区)
- ListView 分类: WinForm 2014-07-18 22:03 289人阅读 评论(0) 收藏
- 公共Webservice
- J2SE知识点摘记(二十)
- JS - 讨论 - 编码习惯 - JavaScript代码到底要不要写分号?
- 新版的nuget包 PackageLicense 这样写
- Zabbix监控Nginx性能状态
- centos7 安装php5.6
- 原生js实现二级联动下拉列表菜单
- 将数组A中的内容和数组B中的内容进行交换。(数组一样大)
- ASP.NET Identity系列02,在ASP.NET MVC中增删改查用户
热门文章
- Java自定义 sort 排序方法
- 记录给树莓派刷Raspberry Pi OS(Raspbian)系统的配置流程
- 定制开发——GitHub 热点速览 v.21.15
- JS基础学习第二天
- ABP 适用性改造 - 添加 API 版本化支持
- 201871030103-陈荟茹 实验二 个人项目―《D{0-1}KP问题》项目报告
- spring-cloud-gateway 服务网关
- 【笔记】《Redis设计与实现》chapter14 服务器
- 解决IDEA Gradle构建报错";Cause: zip END header not found";
- 数据结构之Queue | 让我们一块来学习数据结构