• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >linux shell > 8个实用的Shell脚本分享

8个实用的Shell脚本分享

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了shell脚本编程大全,shell脚本视频教程,shell脚本编程入门,shell脚本编程,linux shell脚本等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

几个Shell脚本的例子,觉得还不错。

【例子:001】判断输入为数字,字符或其他
#!/bin/bash 
read -p "Enter a number or string here:" input 
 
case $input in 
   [0-9]) echo -e "Good job, Your input is a numberic! \n" ;; 
[a-zA-Z]) echo -e "Good job, Your input is a character! \n" ;; 
       *) echo -e "Your input is wrong, input again!   \n"  ;; 
esac 
</div>
【例子:002】求平均数
#!/bin/bash 
 
# Calculate the average of a series of numbers. 
 
SCORE="0" 
AVERAGE="0" 
SUM="0" 
NUM="0" 
 
while true; do 
 
  echo -n "Enter your score [0-100%] ('q' for quit): "; read SCORE; 
 
  if (("$SCORE" < "0"))  || (("$SCORE" > "100")); then 
    echo "Be serious.  Common, try again: " 
  elif [ "$SCORE" == "q" ]; then 
    echo "Average rating: $AVERAGE%." 
    break 
  else 
    SUM=$[$SUM + $SCORE] 
    NUM=$[$NUM + 1] 
    AVERAGE=$[$SUM / $NUM] 
  fi 
 
done 
 
echo "Exiting." 
</div>
【例子:003】自减输出
[scriptname: doit.sh] 
while (( $# > 0 )) 
do 
  echo $* 
  shift 
done  
         
/> ./doit.sh a b c d e 
a b c d e 
b c d e 
c d e 
d e 
e 
</div>
【例子:004】在文件中添加前缀
# 人名列表 
# cat namelist 
Jame 
Bob 
Tom 
Jerry 
Sherry 
Alice 
John 
 
# 脚本程序 
# cat namelist.sh 
#!/bin/bash 
for name in $(cat namelist) 
do 
        echo "name= " $name 
done 
echo "The name is out of namelist file" 
 
# 输出结果 
# ./namelist.sh 
name=  Jame 
name=  Bob 
name=  Tom 
name=  Jerry 
name=  Sherry 
name=  Alice 
name=  John 
</div>

【例子:005】批量测试文件是否存在
[root@host ~]# cat testfile.sh       
#!/bin/bash 
 
 
for file in test*.sh 
do 
  if [ -f $file ];then 
     echo "$file existed." 
  fi 
done 
 
[root@host ~]# ./testfile.sh 
test.sh existed. 
test1.sh existed. 
test2.sh existed. 
test3.sh existed. 
test4.sh existed. 
test5.sh existed. 
test78.sh existed. 
test_dev_null.sh existed. 
testfile.sh existed. 
</div>
【例子:005】用指定大小文件填充硬盘
[root@host ~]# df -ih /tmp 
Filesystem            Inodes   IUsed   IFree IUse% Mounted on 
/dev/mapper/vg00-lvol5 
                       1000K    3.8K    997K    1% /tmp 
[root@host ~]# cat cover_disk.sh 
#!/bin/env bash 
counter=0 
max=3800 
remainder=0 
while true 
do 
    ((counter=counter+1)) 
    if [ ${#counter} -gt $max ];then 
        break 
    fi 
    ((remainder=counter%1000)) 
    if [ $remainder -eq 0 ];then 
        echo -e "counter=$counter\tdate=" $(date) 
    fi 
    mkdir -p /tmp/temp 
    cat < testfile > "/tmp/temp/myfile.$counter" 
    if [ $? -ne 0 ];then 
        echo "Failed to write file to Disk." 
        exit 1 
    fi 
done 
echo "Done!" 
[root@host ~]# ./cover_disk.sh 
counter=1000    date= Wed Sep 10 09:20:39 HKT 2014 
counter=2000    date= Wed Sep 10 09:20:48 HKT 2014 
counter=3000    date= Wed Sep 10 09:20:56 HKT 2014 
cat: write error: No space left on device 
Failed to write file to Disk. 
dd if=/dev/zero of=testfile bs=1M count=1 
</div>
【例子:006】通过遍历的方法读取配置文件
[root@host ~]# cat hosts.allow 
127.0.0.1 
127.0.0.2 
127.0.0.3 
127.0.0.4 
127.0.0.5 
127.0.0.6 
127.0.0.7 
127.0.0.8 
127.0.0.9 
[root@host ~]# cat readlines.sh 
#!/bin/env bash 
i=0 
while read LINE;do 
    hosts_allow[$i]=$LINE 
    ((i++)) 
done < hosts.allow 
for ((i=1;i<=${#hosts_allow[@]};i++)); do 
    echo ${h

您可能想查找下面的文章:

  • 使用shell脚本实现ping对应IP所对应的人名(推荐)
  • 如何短时间内学好一门语言 shell脚本语言为例
  • 一个监控网卡流量的shell脚本
  • 101个shell脚本 猜数字游戏代码
  • shell脚本编程之数组
  • 编写shell脚本将VPS上的数据备份到Dropbox网盘的方法
  • 8个实用的Shell脚本分享
  • 8个实用的Shell脚本分享
  • shell脚本编程实现9*9乘法表
  • Shell实现的Oracle启动脚本分享

相关文章

  • csh脚本语法实例
  • vtune自动化安装脚本
  • real server 的一个启动脚本例子(推荐)
  • Gearman::XS在Centos下的编译安装方法
  • Shell脚本实现乱序排列文件内容的多种方法(洗牌问题)
  • Shell脚本检查IP格式及mysql操作实例
  • shell中的各种括号的使用方法
  • Shell使用Epoch进行日期时间转换和计算的几个小函数
  • 详解Linux中vi命令大全
  • shell脚本实现分日志级别输出的方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • shell学习之printf命令格式化输出语句
    • Linux中10个有用的命令行补全例子
    • Linux下查找后门程序 CentOS 查后门程序的shell脚本
    • shell数组常用实例分享
    • Shell脚本实现的阳历转农历代码分享
    • Linux更新Python版本及修改python默认版本的方法
    • 用expect实现的自动登录到多台服务器的shell脚本
    • Shell脚本学习指南之文本处理工具
    • 实现自动清除日期目录shell脚本实例代码
    • ubuntu使用root用户登录/切换root权限的实现

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有