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
相关推荐
小糖学代码1 天前
LLM系列:1.python入门:3.布尔型对象
linux·开发语言·python
shizhan_cloud1 天前
Shell 函数的知识与实践
linux·运维
Deng8723473481 天前
代码语法检查工具
linux·服务器·windows
霍夫曼1 天前
UTC时间与本地时间转换问题
java·linux·服务器·前端·javascript
月熊1 天前
在root无法通过登录界面进去时,通过原本的普通用户qiujian如何把它修改为自己指定的用户名
linux·运维·服务器
大江东去浪淘尽千古风流人物1 天前
【DSP】向量化操作的误差来源分析及其经典解决方案
linux·运维·人工智能·算法·vr·dsp开发·mr
打码人的日常分享1 天前
智慧城市一网统管建设方案,新型城市整体建设方案(PPT)
大数据·运维·服务器·人工智能·信息可视化·智慧城市
赖small强1 天前
【Linux驱动开发】NOR Flash 技术原理与 Linux 系统应用全解析
linux·驱动开发·nor flash·芯片内执行
风掣长空1 天前
Google Test (gtest) 新手完全指南:从入门到精通
运维·服务器·网络
IT运维爱好者1 天前
【Linux】LVM理论介绍、实战操作
linux·磁盘扩容·lvm