Shell简单用法

mac2025-07-06  9

shell 变量: name=”hauzai007” echo $name 注意事项: 变量名和等号之间不能有空格 不能使用标点符号 不能使用bash里的关键字 只读变量: name=”huazai007” 关键字:readonly name 删除变量: unset name 变量类型: 1 局部变量: 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量 2 环境变量: 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。 系统环境变量: 查看所有环境变量:env 删除环境变量:unset HAHA 举个例子: PPID:是当前进程的父进程的PID PWD:当前工作目录。 RANDO:随机数变量。每次引用这个变量会得到一个0~32767的随机数。 查看所有环境变量:env 删除环境变量:unset 用vim在/etc/profile文件中添加我们想要的环境变量 设置新的环境变量 export 新环境变量名=内容 例:export MYNAME=”LLZZ” 生效:source /etc/profile shell 字符串 单引号和双引号的区别: 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的; 双引号的优点: 双引号里可以有变量 双引号里可以出现转义字符 获取字符串的长度: str=”abcd” echo ${#str} 提取字符串: str=”abcd” #表示从字符串第二个字符开始截取 ,取 4个字符 echo ${str:1:4} shell 数组 定义数组 arr=(aa bb cc) 读取数组 echo ${arr[0]} 获取数组的长度 echo ${arr[@]} echo ${arr[*]} shell 多行注释: :<<EOF xxxx xxxxx EOF shell 基本运算符 算数运算符

加法 减法 乘法 / 除法 % 取余 = 赋值 == 比较(相等) != 不相等 关系运算符 关系运算符只支持数字,不支持字符串,除非字符串的值是数字 -eq 是否相等 -ne 是否不相等 -gt 表示大于 -lt 表示小于 -ge 大于等于 -le 小于等于 布尔运算符 ! -o 或运算 两个表达式只要有一个是true 就返回true [ $a -lt 20 -o $b -gt 100 ] 返回 true -a 与运算 两个表达式都为true才返回true [ $a -lt 20 -a $b -gt 100 ] 返回 false 逻辑运算符 && 等同于 –a || 等同于-o if [[ $a –lt $b && $b –gt 100 ]]; then echo “” else echo “” fi 字符串运算符 =: 检测两个字符是否相等 !=: 检测两个字符不相等 -z : 是否为空 -n :字符串的长度是否为0

文件测试运算符 -b 检测文件是否为块设备 -d 是否为目录 -f 是否为普通文件 -r 是否可读 -w 是否可写 -x 是否可执行

最新回复(0)