linux shell编程入门
摘要
- 介绍shell是什么
- shell快速开始
一、基本概念
1. shell是什么
- Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序
- 用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
2. shell脚本 | 执行方式
脚本格式要求
- 脚本以#!/bin/bash开头
- 脚本需要有可执行权限
- 脚本一般命名规范为
.sh
结尾,当然可以不这样写
#!/bin/bash
脚本的常用执行方式
-
方式1(输入脚本的绝对路径或相对路径)
说明:首先要赋予helloworld.sh脚本的+x权限,再执行脚本
-
方式2(sh+脚本)
说明:不用赋予脚本+x权限,直接执行即可。
3. 快速开始
编写第一个Shell脚本
需求说明:创建一个Shell脚本,输出hello world!
vim hello.sh
#!/bin/bash
echo "hello,world!"
执行
chmod u+x hello.sh
./hello.sh
二、shell变量
shell变量
详见这篇博客- 环境变量也属于shell变量
三、shell注解
- 分多行注解和单行注解:见这篇博客
四、位置参数变量
- 就是在用命令行执行文件的时候添加参数,要在文件中能够读取参数
- 下面给出了基本的转义符,详细内容见这篇博客
转义符 | 说明 |
---|---|
$n | n为数字,$0代表命令本身,$1-$9代表第一到第九个参数 十以上的参数需要用大括号包含,如$ |
$* | 这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体 |
$@ | 这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待 |
$# | 这个变量代表命令行中所有参数的个数 |
五、预定义变量
就是shell设计者实现定义好的变量,包括(详细可以见这篇博客)
转义符 | 说明 |
---|---|
$$ | 当前进程的进程号(PID) |
$! | 后台运行的最后一个进程的进程号(PID) |
$? | 最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0 (具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。 |
六、shell运算符
“$((运算式))
“或“$[运算式]
”或者expr m + n
。详细见这篇文章