shell 编程 命令

Posted on 2023-08-18 10:18  liuxin6de1b  阅读(15)  评论(0编辑  收藏  举报

#!/bin/sh shell编程的头文件
echo “$0” 返回的是这个脚本的部分路径
echo “$1” 返回的第一个参数
echo “$2” 返回的第二个参数
echo “$*” 返回的是全部参数
echo “$#” 返回的是参数的个数
read -p “请输入你的名字:”username
echo $username
read -t 60 -p "请输入数字:" a b -t的意思是60秒 60秒之后我没有给参数。会默认给a和b参数0
echo “a+b=$[ a+b ]" 穿两个参数用空格隔开
echo ‘a+b=$[a+b]’
用单引号返回的就是一个字符串;双引号则会先取值;
echo `date`返回一个日期 `反引号,调用的是系统函数
echo “$1-$2=$[$1-$2]” 运用$1 $2调用我传入的第一个和第二个参数
echo "$a-$b=$((a-b))" (())等价于[]
$? 的意思执行结果是否成功 。0为成功。1是失败
> gt
<lt
>=ge
<=le
==eq
!=ne


或者 elif
#!/bin/bash
read -p "请输入你的成绩:" core
echo "$core"
if [ $core -lt 60 ]; then
echo '洗厕所'
fi
输入成绩。成绩小于60输出洗厕所
#!/bin/sh
read -p "请输入月薪" money
read -p "请输入你的房产" house
echo $money
echo $house
if [ $money -ge 1000000 ]
then
echo "成功"
elif [ $house -ge 20 ]
then
echo "大成功"
else
echo "seeyou"
fi
判断语句的格式是每次if或者elif分支设置完条件后,后面都要加上;then 或者在下一行写then fi表示结束

for i in $@ $@的意思是把传入的参数存进数组的意思
do
echo $i这个数组名叫i 数组的值是我在启动脚本时输入的参数 循环输出这个数组
done


#!/bin/sh
#for i in `seq 10` `seq`意思是调用seq的系统函数 seq的意思是生成一个数到另一个数之间的整数 ,seq 1 1 10 意思为从一开始到十结束 每次自增1 seq 10 就是 起始位置默认为零到十结束
#do
# echo $i
#done
for循环的格式 就是for i in 后面写i的条件 do下面写 执行的操作 done代表循环结束

#!/bin/sh
# i=1 初始化 i =1
#while [ $i -lt 10 ]i<10
#do
#echo $i 循环输出i i从等于1开始
# let i=i+1 i等于1+1 i=2
#done

let 的作用是声明一个变量,通常用来进行运算

i=0 初始化 i =0
while [ $i -lt 10 ]i<10
do
let i=i+1 i = 0+1
if [ $i -eq 5 ] 如果 i=5
then
# continue 跳过i=5这次循环执行下一个 i =6
break i=5时终止循环
fi
echo $i 输出i
done
while 循环的语法结构为
先初始化参数
while [ 使用$调用这个参数,用这个参数来设置一个条件 ]
do 下面写执行的操作
使用let声明这个参数是个变量
执行的操作
done表示结束


#!/bin/sh
function getsum(){ 自定义一个函数 名为getsum
local sum=0 用local设置一个变量sum sum=0 这里用let设置变量也可以 但是local是设置局部变量,通常就在函数中使用。如果用let设置的就是全局变量。别的地方也能使用;
for n in $@ 循环遍历我输入的参数
do
(( sum+=n )) sum等于sum+n n是我输入的参数 循环相加
done
return $sum 返回一个结果
}
getsum 10 20 30 40 使用getsum函数,给他四个参数
echo $? 只能使用$?来获得函数return的结果

Copyright © 2025 liuxin6de1b
Powered by .NET 9.0 on Kubernetes