cat /etc/shells 本机支持的shell
cat /ect/passwd 文件中用户记录的最后一个字段为默认的shell模式
/bin/sh 模式切换 exit退出切换到的模式
用户自定义变量
环境变量
预定义变量:bash预定义的特殊变量,不能直接修改
位置变量,通过命令行给程序传递执行参数
cls在dos下可以清屏
echo $变量名 //可以显示变量值
read -p "信息" 变量名 //可以从键盘输入变量名对应的内容
结合不同的引号为变量赋值:
双引号 "" :允许通过$符号引用其他变量值
单引号 '':禁止引用其他变量值,$视为普通字符
反撇号``:将命令执行的结果输出给变量
export 变量名 //可以将变量设置为全局变量
unset 变量名//清楚用户变量
set //可以查看所有的shell变量,包括环境变量
PATH = "/opt/bin:$PATH"//在原PATH基础上添加路径
位置变量:命令执行时参数所在的位置
$0 这个程式的执行名字
$n 这个程式的第n个参数值,n=1..9
$* 这个程式的所有参数,此选项参数可超过9个。
$# 这个程式的参数个数
$$ 这个程式的PID(脚本运行的当前进程ID号)
$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)
$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
$- 显示shell使用的当前选项,与set命令功能相同
$@ 跟$*类似,但是可以当作数组用
./boot.sh //直接执行具有"x"权限的脚本文件
bash boot.sh
sh boot.sh //使用指定的解释器程序执行脚本文件
source boot.sh
.boot.sh
test命令:测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0,否则为其他值
格式一:test 条件表达式
格式二:[条件表达式]
常用格式二
测试文件状态:
格式:[操作符 文件或目录]
操作符:-d Directory -e Exist -f File -r Read -w Write -x Execute -L Link
eg: [ -d /etc/vsftpd ]//判断文件是否为目录
echo $? //返回上条shell执行结果,0为true
[ -e /media/cdrom ] && echo "YES"//如果条件成立则输出 YES
shell笔记
最新推荐文章于 2022-07-29 09:27:05 发布