shell脚本练习

Shell介绍

  Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又能利用Shell 脚本编程,完成更加复杂的操作。
  shell简单、灵活、高效,特别适合处理一些系统管理方面的小问题。shell可以实现自动化管理,让系统管理员的工作变得容易、简单、高效。shell脚本可轻松方便读取和修改源代码,不需要编译。
  

    Linux的Shell种类众多,常见的有: 

   Bourne Shell (/usr/bin/sh 或/bin/sh)、Bourne Again Shell (/bin/bash)、C Shell (/usr/bin/csh)、K Shell (/usr/bin/ksh)、Shell for Root (/sbin/sh),等等。


  Bash也是大多数Linux系统默认的Shell。在般情况下,人们并不区分Bourne Shell和Bourne Again Shell,所以,在下面的文字中,我们可以看到#!/bin/sh,它同样也可以改为#/bin/bash。

  利用vi等文本编辑器编写Shell脚本的格式是固定的,如下:

#!/bin/sh
#comments     //注释
Your commands go here

  首行中的符号#告诉系统其后路径所指定的程序即是解释此脚本文件的Shell程序。如果首行没有这句话,在执行脚本文件的时候,将会出现错误。后续的部分就是主程序,Shell脚本像高级语言一样,也有变量赋值,也有控制语句。除第一行外,以#开头的行就是注释行,直到此行的结束。

  编辑完毕,将脚本存盘为filename.sh,文件名后缀sh表明这是一个Bash脚本文件。执行脚本的时候,要先将脚本文件的属性改为可执行的:

chmod +X filename.sh

执行脚本的方法是:

./filename.sh

下面我们从经典的“hello world" 入手,看一看最简单的Shell脚本的模样:

#!/bin/sh
#print hello world in the console window

a ="hello world"

echo $a

   Shell Script 是一种弱类型语言,使用变量的时候无需首先声明其类型。变量赋值的方式是:
variable name = variable value

  如果对一个已经有值的变量赋值,新值将取代旧值。取值的时候要在变量名前加$,$variable_name可以在引号中使用。

Shell编程

1、编写一个Shell脚本,完成以下功能:

1)显示文字“Waiting for a while….” l

2)显示当前目录下面扩展名为”.h”的文件和目录,并输出重定向到/home/file.txt文件

提示:显示文字可使用echo命令,搜索文件可使用find命令

为脚本创建文件script1.sh:

vim script1.sh

Shell脚本:

#!/bin/bash  

# 显示文字  
echo "Waiting for a while...."  

# 显示当前目录下所有.h扩展名的文件和目录,并输出重定向到/home/file.txt  
find . -name "*.h" > /home/file.txt

# 可以在脚本末尾添加查看文件内容的命令,以验证输出  
cat /home/file.txt
                  

赋予执行权限:

chmod +x script1.sh

执行结果:

2、编写一个Shell脚本,完成以下功能

计算8以内(含8)不是3的整数倍的数字的和

为脚本创建文件script2.sh:

vim script2.sh

Shell脚本:

#!/bin/bash  
  
sum=0  
  
# 使用for循环计算8以内不是3的整数倍的数字的和  
for i in {1..8}  
do  
    if [ $((i % 3)) -ne 0 ]; then  
        sum=$((sum + i))  
    fi  
done  
  
# 显示结果  
echo "The sum of numbers not divisible by 3 from 1 to 8 is: $sum"

赋予执行权限:

chmod +x script2.sh

执行结果:

3、编写一个Shell脚本,在当前目录创建5个目录,目录的命名形式分别为:

dir-1,dir-2,….,dir-5

为脚本创建文件script3.sh:

vim script3.sh

Shell脚本:

#!/bin/bash  
  
# 使用for循环在当前目录创建5个目录  
for i in {1..5}  
do  
    mkdir "dir-$i"  
    # 可以添加检查是否创建成功的语句  
    if [ $? -eq 0 ]; then  
        echo "Directory dir-$i created successfully."  
    else  
        echo "Failed to create directory dir-$i."  
    fi  
done

赋予执行权限:

chmod +x script3.sh

执行结果:

  • 20
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值