$0 当前程序的名称
$n 当前程序的第n个参数,n=1,2,…9
$* 当前程序的所有参数(不包括程序本身)
$# 当前程序的参数个数(不包括程序本身)
$$ 当前程序的PID
$@ 与$#相同,但是使用时加引号,并在引号中返回每个参数
$- 显示shell使用的当前选项,与set命令功能相同
$! 执行上一个指令的PID(好像不行?)
$? 执行上一个指令的返回值
条件判断:expression为字符串操作
-n str
-z str
str1 =str2 str1是否与str2相同
str1!=str2 str1是否与str2不同
expr1 -a expr2 如果 expr1 和 expr2 评估为真,则为真
expr1 -o expr2 如果 expr1 或 expr2 评估为真,则为真
int1 -eq int2 如果int1等于int2,则为真
int1 -ge int2 如果int1大于或等于int2,则为真
int1 -gt int2 如果int1大于int2 ,则为真
int1 -le int2 如果int1小于或等于int2 ,则为真
int1 -lt int2 如果int1小于int2 ,则为真
int1 -ne int2 如果int1不等于int2 ,则为真
条件判断:expression为文件操作
-b 是否块文件
-c 是否字符文件
-d 是否一个目录
-e 文件是否存在
-f 是否普通文件
-g 是否设置了文件的 SGID 位 -u 是否设置了文件的 SUID 位
-G 文件是否存在且归该组所有 -w 文件是否可写,则为真
-k 文件是否设置了的粘贴位
-O 文件是否存在且归该用户所有
Shell变量的分类
v
v
v
v
常用环境变量echo $USER
序将在哪些目录以及按照何种顺序进行命令的搜索
环境变量配置文件
/etc/profile
/home/~/.bash_profile
/home/~/.bashrc
用户自定义变量自定义变量的设置
$ DAY=Sunday
$ echo $DAY
$ export DAY
$ unset DAY
使用Tab键可以补全命令名 或文件名和文件夹名
使用上下方向键浏览已输入命令(历史命令)
$ history
属主目录/.bash_history
$ history -c
$ alias
$ alias lujing='pwd'
$ alias lujing
$ unalias -a
系统别名定义配置文件在 /etc/profile.d/ 目录的中
输入输出文件
标准输入
标准输出
标准错误输出
输入重定向
$ wc < test
输出重定向
$ ls /etc/ > etcdir
$ ls /etc/sysconfig/ >> etcdir 将标准输出重定向追加到etcdir文件 >>代表追加
$ nocmd 2> errfile
$ ls afile bfile &> errfile
管道 cat 123 | head -5
shell脚本概念:类似与dos批处理、以文本方式保存、执行是不用编译、具有可执行(x)属性
/etc/init.d/
vi hello.sh
输入 echo hi,magic 保存并用chmod 设置可执行权限
$ bash hello.sh
$ . hello.sh
$ ./hello.sh
本文详细介绍了常用的系统变量,如程序名称、参数、PID等,并解释了Shell中的条件判断、环境变量配置及自定义变量的使用。此外,文章还讲解了Shell脚本的概念、创建、执行方法以及输入输出重定向、管道操作。通过实例展示了如何利用这些工具进行高效的数据处理和自动化任务。

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



