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
相关推荐
智慧地球(AI·Earth)24 分钟前
在Linux上使用Claude Code 并使用本地VS Code SSH远程访问的完整指南
linux·ssh·ai编程
老王熬夜敲代码1 小时前
解决IP不够用的问题
linux·网络·笔记
zly35002 小时前
linux查看正在运行的nginx的当前工作目录(webroot)
linux·运维·nginx
来自于狂人2 小时前
华为云Stack服务实例创建失败通用排查对照表(备考+生产故障定位必备)
服务器·数据库·华为云
QT 小鲜肉2 小时前
【Linux命令大全】001.文件管理之file命令(实操篇)
linux·运维·前端·网络·chrome·笔记
问道飞鱼3 小时前
【Linux知识】Linux 虚拟机磁盘扩缩容操作指南(按文件系统分类)
linux·运维·服务器·磁盘扩缩容
egoist20233 小时前
【Linux仓库】超越命令行用户:手写C语言Shell解释器,解密Bash背后的进程创建(附源码)
linux·c语言·bash·xshell·环境变量·命令行参数·内建命令
Lenyiin3 小时前
《 Linux 修炼全景指南: 八 》别再碎片化学习!掌控 Linux 开发工具链:gcc、g++、GDB、Bash、Python 与工程化实践
linux·python·bash·gdb·gcc·g++·lenyiin
莲华君3 小时前
Bash Shell:从入门到精通
linux
风雨飘逸3 小时前
【shell&bash进阶系列】(二十一)向脚本传递参数(shift和getopts)
linux·运维·服务器·经验分享·bash