shell基础知识
2021-10-11 本文已影响0人
三省吾身_9862
shell文件使用
vim hello.sh // 创建shell文件
// 输入以下内容
#!/bin/bash
echo "hello, world"
// 执行方法一
sh hello.sh
// 执行方法二
chmod u+x hello.sh
./hello.sh
变量
$HOME , $PATH // 系统变量
set // 查看所有的系统变量
变量名=值 // 自定义变量,设置
$变量名 // 自定义变量,取值
unset 变量名 // 自定义变量,删除
A=100
echo $A
unset A
readonly B=2 // 设置静态变量,只读。设置后,不可以编辑删除
D=$(date) // 把命令返回值,赋值给变量;或者 D=`date`
环境变量(全局变量)
// 在 /etc/profile 文件里设置
export 变量名=值
// 设置后,要执行 source /etc/profile ;立即生效
// shell 多行注释
:<<!
内容
!
参数

运算符
// 运算符
RES=$(((2+3)*4))
RES=$[(2+3)*4]
echo $RES
条件判断语句
if [ 判断条件 ]
then
执行语句
elif [ 判断条件 ]
then
执行语句
else
执行语句
fi


流程控制语句


循环语句
#!/bin/bash
# for in
for i in $@
do
echo $i
done
# for
SUM=0
for (( i=1; i <= 100; i++ ))
do
SUM=$[$SUM+$i]
done
echo SUM
while [ $i -le $1]
do
SUM=$[$SUM+$i]
i=$[$i+1]
done
echo $SUM
read读取控制台输入
read -p 请输入num: NUM
echo $NUM
read -t 10 -p 请在10s内输入text: TEXT
echo $TEXT
read -p 请输入(y/n): FLAG
if [ $FLAG = y ]
then
echo "选择正确"
elif [ $FLAG = n ]
then
echo "选择错误"
fi

函数
-
系统函数 basename和dirname
basename | dirname
- 自定义函数
#!/bin/bash
function getSum() {
echo "abc"
return $[$1+$2]
}
# 使用$()接收函数echo输出的内容
CONTENT=$(getSum 4 2)
# 使用$?接收上一程序的返回值状态,也就是return的值
SUM=$?
echo $CONTENT
echo $SUM