Shell 脚本基础学习

这篇博客介绍了Shell脚本的基础知识,包括查询手册、for循环和seq的使用、创建及重定向文件、函数的使用和传参、文件和文件夹存在的判断、环境变量以及正则表达式的语法。内容涵盖了一系列实用的Shell脚本操作和技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查询手册

菜鸟教程

for循环和seq的使用

echo "method 1"
for i in `seq 1 10`;
do
    echo $i;
done
echo "method 2"
for i in {1..10}
do
    echo $i;
done
echo "method 3"
for i in `seq 1 2 10`;
do
    echo $i;
done

进入目录创建文件重定向内容

cd Test
touch test.sh
echo "This is the test for test.sh ">test.sh

关于函数的使用

如果函数内部没有参数就返回最后一条执行的结果

function Platform()
{
    echo $(uname)
}


function Pwd()
{
    echo $(PWD)
}


function main()
{
    type=`Platform`
    echo "Platform:"${type}

    echo "#####"
    echo ${PWD}
}

main

运行结果

Platform:Darwin
#####
/Users/kouhz/Code/Shell

函数的传参

funWithParam(){
    echo "第一个参数为 $1 !"
    echo "第二个参数为 $2 !"
    echo "第十个参数为 $10 !"
    echo "第十个参数为 ${10} !"
    echo "第十一个参数为 ${11} !"
    echo "参数总数有 $# 个!"
    echo "作为一个字符串输出所有参数 $* !"
}


main
[@kouhaozhedeMacBook-Pro:Shell]$ !bash
bash function.sh
Platform:Darwin
#####
/Users/kouhz/Code/Shell
第一个参数为 1 !
第二个参数为 2 !
第十个参数为 10 !
第十个参数为 34 !
第十一个参数为 73 !
参数总数有 11 个!
作为一个字符串输出所有参数 1 2 3 4 5 6 7 8 9 34 73 !

接受数字

echo "请输入数字:"
read num
echo "您输入的数字是:"
echo $num

判断文件和文件夹是否存在

if [ -f "test.txt" ];then
     rm test.txt
else
     touch test.txt
fi
for i in `seq 1 10`;do
     echo $i>>test.txt
done

文件比较符
-e 判断对象是否存在
-d 判断对象是否存在,并且为目录
-f 判断对象是否存在,并且为常规文件
-L 判断对象是否存在,并且为符号链接
-h 判断对象是否存在,并且为软链接
-s 判断对象是否存在,并且长度不为0
-r 判断对象是否存在,并且可读
-w 判断对象是否存在,并且可写
-x 判断对象是否存在,并且可执行
-O 判断对象是否存在,并且属于当前用户
-G 判断对象是否存在,并且属于当前用户组
-nt 判断file1是否比file2新 [ “/data/file1” -nt “/data/file2” ]
-ot 判断file1是否比file2旧 [ “/data/file1” -ot “/data/file2” ]

环境变量

local
一般用于局部变量声明,多在在函数内部使用。
global
其作用域从被定义的地方开始,到shell结束或被显示删除的地方为止。

export
将自定义变量设定为系统环境变量(仅限于该次登陆操作,当前shell中有效)
语法:export [-fnp][变量名称]=[变量设置值]
补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。

正则表达式语法

https://www.sojson.com/regex/generate

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值