环境变量
一些命令
shell脚本中经常出现各种环境变量,因此要写脚本,必须先来了解环境变量.常见的处理环境变量的命令,列举在下面
- set 用来显示本地变量
- env 用来显示环境变量
- export 用来显示和设置环境变量
- source 后面跟一个文件,可以直接执行文件里的脚本命令并更新
常见的环境变量
- 位置参数
相当于C语言中, main函数的argv数组, 这里用 $num 表示,其中 num 是指代一个数字. 见下面的程序实例
# foot.sh
#!/bin/sh
echo "#0 $0"
echo "#1 $1"
echo "#2 $2"
echo "#3 $3"
echo "#4 $4"
echo "#5 $5"
echo "#10 ${10}" # 注意这里的花括号
- 列举一些变量
列举一些常见的变量, 可以通过 echo 直接查看
PWD 当前路径, bash 的 pwd 命令即是输出该路径
OLDPWD 前一个目录
PATH shell的命令路径
HOME 用户的家目录
SHELL 当前的shell
USER 用户名
UID 用户 id 可以参考 /etc/passwd
PPID 创建当前进程的进程号,即父进程号
PS1 提示符变量引用
一般字符串可以不用引号,加了引号(单引号或者双引号,都是为了屏蔽特殊字符的特殊意义,如星号等)
| "1 is $1" | 双引号 | 引用除了美元符号($) 反引号(``) 反斜杠( \ )的字符串,可以输出单引号 |
| '1 is $1' | 单引号 | 单引号里面的字符串会原样输出,包括双引号,但是不能输出单引号 |
| varA=`pwd` | 反引号 | 讲反引号里面的内容解释为 shell 命令 |
比较
把表达式放在中括号里,如 ["$num1" -eq 20] 条件满足就返回 0
比较运算符
| -eq | euqal | == |
| -ge | greater or equal | >= |
| -gt | greater | > |
| -le | less or equal | <= |
| -lt | less than | < |
| -ne | not equal | != |
文件操作符
| -d file | directory | 是否为 目录 |
| -e file | exist | 是否 存在 |
| -f file | file | 是否为 普通文件 |
| -r file | readable | 是否 可读 |
| -s file | 文件长度是否不为零 | |
| -w file | writable | 是否 可写 |
| -x file | executive | 是否 可执行 |
| -L file | linkable | 是否 是符号化链接 |
逻辑运算符
| !expression | 逻辑非 |
| expression1 -a expression2 | 逻辑与 and |
| expression1 -o expression2 | 逻辑或 or |
本文详细介绍了Shell脚本中环境变量的基本概念、常见处理命令及使用方法,并列举了一些常见的环境变量,如位置参数、PWD、PATH等。同时,文章还讨论了如何在Shell脚本中进行字符串引用、比较运算符及文件操作符的应用,以及如何通过逻辑运算符进行条件判断。
33万+

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



