Loading

day17 shell编程

shell语法

shell是一门解释型、弱类型、动态语言

变量

双引号"" 会解析引号中的变量
单引号'' 不会解析引号中的变量

${PATH} = $PATH

a=12345
export a
定义全局变量a

开机有效的环境变量:
修改配置文件 /etc/profile
刷新配置文件 sourse /etc/profile

$PATH 命令执行目录

PATH=$PATH:/aaa/bbb/bin #追加PATH
export PATH

变量相关命令

set 可以看到当前存在的所有变量和对应的值
env 只能看到环境变量

运算

echo $((1+1))  #输出 2

浮点运算
echo "scale=2;5/3" | bc
1.66

取整数部分
expr 5/3
1

let加减乘除都可以
let res=1+1
echo $res
2

元字符

() 在子shell里执行
(umask 066;touch a.txt)
这样建立的文件是066的权限

test "$name" ="egon"
相当于["$name" ="egon"]
echo $?
0为真,1为假

$! 上一条命令的参数

read -p "请输入名字:" name
将输入的名字赋值给name

{}包含

: 等于true

逻辑

|| 前一条命令运行不成功,才运行第二条命令

if ["$name" ="egon" -a 1 -eq 1];then
echo xxx
fi

["$name" ="egon" -a 1 -eq 1]
-a and 两个条件同时成立才为真
["$name" ="egon" -a 1 -eq 1]
-o or 两个条件成立一个就为真

不想要命令执行结果,只想要命令执行成功失败
&>/dev/null把命令结果丢给空

for命令
for i in {1..255}
do
xxxx
done
posted @ 2025-02-26 12:41  xbule  阅读(11)  评论(0)    收藏  举报