Linux第五次课

分支语句

if语句
if [ condition ](输入的时候中括号里的条件要距离两边有一个空格的 距离,并且if离中括号也要有一个空格的距离)
then
command
elif[codition]then
command
else
command
fi

-eq 等于则为真
-ne 不等于则为真
-gt 大于则为真
-ge 大于等于则为真
-lt 小于则为真
-le 小于等于则为真
-a 并且
-o 或
if语句的例子

#!/bin/bash

read -p "please input a integer:" a

if [ $a -lt 10 ]
then
    echo -e "小于10\n"
elif [ $a -lt 50 -a $a -gt 10 ]
then
    echo -e "10<$a<50\n"
else
    echo -e "no\n"
fi

read -p “提示的内容” 变量1 变量2 …

read -p “请输入文件名:” path1 path2
echo “$path1 $path2”

例:判断输入的年份是否是润年(润年条件:1、能被4整除,但不能被100整除的年份。2、能被100整除,又能被400整除的年份)

#!/bin/bash

read -p "please input a year:" year

#if [ [ year % 4==0 -a year % 100 -ne 0 ] -o [ year % 400==0 ] ]
if (( year % 4==0 && year % 100 != 0 || yeaer%400==0 ))
#if [ year%4==0 -a year%100!=0 ] 
then
    echo "是润年"
else
    echo "不是润年"
fi
#这个是这一种方法,但是类似于if [ year%4==0 -a year%100!=0  ]  -o [  year%400==0 ] 这个方法是不行的,我也不知道为啥,其他的都行
下面的是第二种方法
#!/bin/sh  
    
echo "Please Input a year: "  
read year  
  
let "n1=$year % 4"  
let "n2=$year % 100"  
let "n3=$year % 400"  
if [ "$n1" -ne 0 ]  
then  
    leap=0  
elif [ "$n2" -ne 0 ]  
then  
    leap=1  
elif [ "$n3" -ne 0 ]  
then  
    leap=0  
else  
    leap=1  
fi  

if1.sh

循环

for1.sh

shell中特有的
until [conditon]
do
command
done

until1.sh

for n in seq 1 5
do
echo $n
done

选择

case

#!/bin/bash

case $1 in
‘start’ | -s )
echo “start … done”
;;
‘stop’ | -t )
echo “stop…done”
;;
‘restart’ | -rt )
echo “restart … done”
;;
‘status’ | -st )
echo “status … done”
;;
* )
echo “default”
;;
esac

select

select value in A B C
do
case “$value” in
A)
echo “You Selected A”;;
B)
echo “You Selected B”;;
C)
echo “You Selected C”;;
*)
echo “You Selected NULL”;;
esac
break
done


注意下面的特殊用法:

#!/bin/bash
declare -a serial
serial=(1 2 3 4)
PS3="Enter a number: "

select var in “a” “b” “c” “d”
do
if ! echo ${serial[@]} | grep -q $REPLY; then
echo “please enter [1-4].”
continue
fi
echo “your anwser is: $var”
break
done

案例

1、编写一个bash脚本,给另一个文本文件加行号,并输出
输入重定向
输出重定向
mv

linenum1.sh

2、倒序输出文件(递归)
输入重定向
revrread1.sh

3:程序监控,当程序未运行的时候则运行程序
checkrun1.sh
lession1.sh

if [ $# -lt 1 ]
判断是否输入命令行参数

1:首先检查进程是否存在,命令如下
ps -ef |grep “lession2.sh”|grep -v “grep”

通过下面的命令来观察程序

ctrl+z (进程挂起)
fg 恢复

jobs用来查看目前的后台工作状态,显示结果里面最前面的数字号就是对应进程的jobnumber
jobs -l 查看后台工作状态

结束后台工作
kill %jobnumber

例如
kill %1

4:ip地址判断
准备一个ip地址文件,每行一个ip,读入数据,如果是IP地址
就输出显示

ip.txt
192.168.2.110
falkdjfajlskd
192.168.0.110

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值