shell笔记

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值