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
相关推荐
GalaxyPokemon1 小时前
LeetCode - 76. 最小覆盖子串
运维·服务器·数据结构·算法·leetcode
嵌入式@秋刀鱼1 小时前
《 第三章-招式初成》 C++修炼生涯笔记(基础篇)程序流程结构
linux·开发语言·数据结构·c++·笔记·visual studio code
楽码1 小时前
安装和编写grpc协议文件
服务器·后端·grpc
q567315231 小时前
Linux搭建爬虫ip与私有IP池教程
linux·爬虫·tcp/ip
Arrtoria2 小时前
Kernel2.X的内存世界
linux
程序员岳焱2 小时前
Java 与 MySQL 性能优化:Linux服务器上MySQL性能指标解读与监控方法
linux·后端·mysql
Jooolin2 小时前
【编程史】Ubuntu到底是啥?它和Linux又是什么关系?
linux·ubuntu·操作系统
西北大程序猿2 小时前
服务器代码知识点补充
服务器·开发语言·网络·c++·网络协议
OceanWaves19933 小时前
centos 7.9 升级ssh版本 7.4p1 升级到 8.2p1
linux·centos·ssh
打不了嗝 ᥬ᭄3 小时前
进程控制
linux·运维·服务器·c++