shell编程100例(4)

本文分享了五种实用的Bash脚本编程技巧,包括检查文件或目录的存在性、收集用户输入并存储到数组、生成斐波那契数列、获取系统中所有用户的名称以及验证登录凭据。这些技巧涵盖了基本的文件操作、用户交互、数学序列生成、系统信息读取和安全验证,是Bash脚本初学者和进阶者的宝贵资源。

1、判断文件或目录是否存在
#!/bin/bash
# 判断文件或目录是否存在
if [ $# -eq 0 ] ;then
echo “未输入任何参数,请输入参数”
echo “用法:$0 [文件名|目录名]”
fi
if [ -f $1 ];then
echo “该文件,存在”
ls -l $1
else
echo “没有该文件”
fi
if [ -d $1 ];then
echo “该目录,存在”
ls -ld $2
else
echo “没有该目录”
fi

2、读取用户输入的账户名称,将账户名写入到数组保存
#!/bin/bash
# 读取用户输入的账户名称,将账户名写入到数组保存
# 定义数组名称为 name,数组的下标为 i,小标从 0 开始,每输入一个账户名,下标加 1,继续存下一个账户
***
# 最后,输入 over,脚本输出总结性息后脚本退出
i=0
while :
do
read -p “请输入账户名,输入 over 结束:” key
if [ key=="over"];thenbreakelsename[key == "over" ];then break else name[key=="over"];thenbreakelsename[i]=keyleti++fidoneecho"总账户名数量:key let i++ fi done echo "总账户名数量:keyleti++fidoneecho":{#name[*]}"
echo “${name[@]}”

3、打印斐波那契数列
#!/bin/bash
# 打印斐波那契数列(该数列的特点是后一个数字,永远都是前 2 个数字之和)
# 斐波那契数列后一个数字永远是前 2 个数字之和
# 如:0 1 1 2 3 5 8 13 … …
list=(0 1)
for i in seq 2 11
do
list[$i]=expr ${list[‐1]} + ${list[‐2]}
done
echo ${list[@]}

4、显示当前计算机中所有账户的用户名称
#!/bin/bash
# 显示当前计算机中所有账户的用户名称
# 指定以:为分隔符,打印/etc/passwd 文件的第 1 列
awk -F: ‘{print $1}’ /etc/passwd
# 指定以:为分隔符,打印/etc/passwd 文件的第 1 列
cut -d: -f1 /etc/passwd
# 使用 sed 的替换功能,将/etc/passwd 文件中:后面的所有内容替换为空(仅显示用户名)
sed ‘s/:.*//’ /etc/passwd

5、测试用户名与密码是否正确
#!/bin/bash
# 测试用户名与密码是否正确#用户名为 tom 并且密码为 123456,则提示登录成功,否则提示登失败
read -p “请输入用户名:” user
read -p “请输入密码:” pass
if [ “user"==′tom′−a"user" == 'tom' -a "user"==toma"pass” == ‘123456’ ];then
echo “Login successful”
else
echo “Login Failed”
fi

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值