Linux的一些实例

1.编写脚本,让用户输入firstname和lastname,最后在屏幕上显示your full name is:

cpp 复制代码
#!/bin/bash
read -p "please input firstname:" var1 
read -p "please input lastname:" var2
echo "your full name is:$var1$var2"

运行结果:

2.编写脚本,查找当前路径下某文件是否存在,若存在,则将其权限设置为用户主可读可写,其余用用户无任何权限。否则返回无此文件的信息。

cpp 复制代码
#!/bin/bash
read -p "input a filename:" var
if test -e $var
then chmod 0600 $var
else
echo "no namefile"
fi
 

3.编写脚本文件leapyear.sh。脚本功能为:判断给定的某一年是否是闰年。

cpp 复制代码
#!/bin/bash
read -p "input one year:" var
if test $((var % 4)) -eq 0 && test $((var % 100)) -ne 0 || test $((var % 40)) -eq 0
then
    echo "$var是闰年"
else
    echo "$var不是闰年"
fi

4.打印给定行数的*号。第一行打印1个,第二行打印2个,等等。行数由用户在命令行上输入。

cpp 复制代码
#!/bin/bash
read -p "请输入行数" var
for((i=0;i<var;i++));
do
    for((j=0;j<=i;j++));
    do
    echo -e "*\c"
done
echo
done
    

5.编写脚本文件sum.sh。脚本功能为:计算从1加到100的和并返回结果。

cpp 复制代码
#!/bin/bash
for((i=1;i<=100;i++))
do
    ((sum=$(expr $sum+$i)))
done
echo $sum

6.编写shell脚本, 将第一个参数指定的内容 copy 到第二个参数指定地点。

若第一个参数是目录, 自动添加-r 选项(即把目录下的所有内容都 copy 过去);

若第一个参数是普通文件,则将其 copy 到指定地点;

若第一个参数指定的文件或目录不存在,则报错;

若第二个参数指定的文件或目录已经存在,则提示是否替换,若选择 yes,则先删除原来的文件或目录, 然后再执行 copy 操作, 否则放弃。

cpp 复制代码
#!/bin/bash
read -p "请输入两个目录或文件参数:" var1 var2
if test -d $var1
then
    cp -r "$var1" "$var2"
else 
    if test -f $var1
    then

        if ! test -e $var2 
        then
            echo "erro"
        else 
            read -p "是否替换?" a
            if test $a="yes"
            then
                read -p "指定目录:" var3 
                rm -rf "$var2"
                cp -r "$var1" "$var3"
                echo "替换成功"
            else
                echo "放弃替换"
            fi
        fi
    fi
fi
相关推荐
0xDevNull2 天前
Linux切换JDK版本详细教程
linux
进击的丸子2 天前
虹软人脸服务器版SDK(Linux/ARM Pro)多线程调用及性能优化
linux·数据库·后端
茶杯梦轩2 天前
从零起步学习RabbitMQ || 第二章:RabbitMQ 深入理解概念 Producer、Consumer、Exchange、Queue 与企业实战案例
服务器·后端·消息队列
Johny_Zhao3 天前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
YuMiao4 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
chlk1235 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑5 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件5 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号5 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash5 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)