iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >5个Shell脚本编程入门练习例子
  • 785
分享到

5个Shell脚本编程入门练习例子

脚本入门例子 2022-06-04 21:06:48 785人浏览 安东尼
摘要

例子一:绘制特殊图形 #!/bin/bash MAX_NO=0 echo -n "Enter Number between (5 to 9) : " read MAX_NO i

例子一:绘制特殊图形

#!/bin/bash

 

MAX_NO=0

 

echo -n "Enter Number between (5 to 9) : "

 read MAX_NO

 

if ! [ $MAX_NO -ge 5 -a $MAX_NO -le 9 ] ; then

 echo "WTF... I ask to enter number between 5 and 9, Try Again"

 exit 1

 fi

 

clear

 

for (( i=1; i=i; s-- ))

 do

 echo -n " "

 done

 for (( j=1; j=1; i-- ))

 do

 for (( s=i; s<=MAX_NO; s++ ))

 do

 echo -n " "

 done

 for (( j=1; j<=i; j++ ))

 do

 echo -n " ."

 done

 echo ""

 done

 

echo -e "nnttt Whenever you need help, Tecmint.com is always there"

你应该不会被上述例子中的“关键字”困扰了,很多都是你熟悉的,或者从它们的名字可以猜出它们的意思,如“max”设定某个变量的最大值,“for”是一个循环。

输出结果:

[root@tecmint ~]# chmod 755 Special_Pattern.sh

[root@tecmint ~]# ./Special_Pattern.sh

Enter Number between (5 to 9) : 6

       .

      . .

     . . .

    . . . .

   . . . . .

  . . . . . .

  . . . . . .

   . . . . .

    . . . .

     . . .

      . .

       .

 

        Whenever you need help, Tecmint.com is always there

如果你有其它语言的编程基础,那么学习上面的脚本对你来说应该很容易。即使你是计算机方面的新手,这个学习过程也不会太难。

例子二:五颜六色的脚本

linux终端也是支持五颜六色的,请看下面的脚本:

#!/bin/bash

 

clear

echo -e "\033[1m Hello World"

 # bold effect

echo -e "\033[5m Blink"

       # blink effect

echo -e "\033[0m Hello World"

 # back to noraml

 

echo -e "\033[31m Hello World"

 # Red color

echo -e "\033[32m Hello World"

 # Green color

echo -e "\033[33m Hello World"

 # See remaing on screen

echo -e "\033[34m Hello World"

echo -e "\033[35m Hello World"

echo -e "\033[36m Hello World"

 

echo -e -n "\033[0m"

  # back to noraml

echo -e "\033[41m Hello World"

echo -e "\033[42m Hello World"

echo -e "\033[43m Hello World"

echo -e "\033[44m Hello World"

echo -e "\033[45m Hello World"

echo -e "\033[46m Hello World"

 

echo -e "\033[0m Hello World"

输出结果:

查看图片

你可以对上面的列子举一反三,把它用到你自己的脚本中去。

例子三:加密文件/目录

下面的例子演示了如何加密一个份文件或者文件夹。目前的这个版本的脚本有一些局限,例如你必须把它和你要加密的文件/目录放到同一个文件夹下面。另外,你可能需要安装“pinentry-gui”。在Fedora下安装“pinentry-gui”的命令是:

[root@midstage ~]# yum install pinentry-gui

ubuntu/Debian下安装“pinentry-gui”的命令是:
[root@midstage ~]# apt-get install pinentry-gui

创建一个脚本“Encrypt.sh”,将下面的代码复制进去。你也可以从这里下载这个脚本。
#!/bin/bash

echo "Welcome, I am ready to encrypt a file/folder for you"

echo "currently I have a limitation, Place me to the same folder,

where a file to be encrypted is present"

echo "Enter the Exact File Name with extension"

read file;

gpg -c $file

echo "I have encrypted the file sucessfully..."

echo "Now I will be removing the original file"

rm -rf $file

输出结果:
[root@tecmint ~]# chmod 755 Encrypt.sh

[root@tecmint ~]# ./Encrypt.sh

 

Welcome, I am ready to encrypt a file/folder for you

currently I have a limitation, Place me to the same folder,

where a file to be encrypted is present

Enter the Exact File Name with extension

 

package.xml

 

                   Enter passphrase

 

                   Passphrase _________________________________

 

 

                   Please re-enter this passphrase

 

                   Passphrase _________________________________

 

 

I have encrypted the file successfully...

Now I will be removing the original file

代码说明:

gpg -c: 这个命令使用aka来加密文件。 在你需要的时候,你需要对加密的文件进行解密。这里我们不给出具体的代码了,你可以自己尝试着写出来。提示:使用命令 gpg -d filename.gpg > filename 可以解密一份文件。

例子四:查看服务器利用率

查看服务器的利用率是管理员的一份重要的日常工作。聪明的管理员是知道如何是这份任务自动化的。下面的这份脚本会抓取服务器的很多信息,快快试试吧!

#!/bin/bash

date;

echo "uptime:"

uptime

echo "Currently connected:"

w

echo "--------------------"

echo "Last logins:"

last -a |head -3

echo "--------------------"

echo "Disk and memory usage:"

df -h | xargs | awk '{print "Free/total disk: " $11 " / " $9}'

free -m | xargs | awk '{print "Free/total memory: " $17 " / " $8 " MB"}'

echo "--------------------"

start_log=`head -1 /var/log/messages |cut -c 1-12`

oom=`grep -ci kill /var/log/messages`

echo -n "OOM errors since $start_log :" $oom

echo ""

echo "--------------------"

echo "Utilization and most expensive processes:"

top -b |head -3

echo

top -b |head -10 |tail -4

echo "--------------------"

echo "Open tcp ports:"

nmap -p- -T4 127.0.0.1

echo "--------------------"

echo "Current connections:"

ss -s

echo "--------------------"

echo "processes:"

ps auxf --width=200

echo "--------------------"

echo "vmstat:"

vmstat 1 5

输出结果:
[root@tecmint ~]# chmod 755 Server-Health.sh

[root@tecmint ~]# ./Server-Health.sh

 

Tue Jul 16 22:01:06 IST 2013

uptime:

22:01:06 up 174 days, 4:42, 1 user, load average: 0.36, 0.25, 0.18

Currently connected:

22:01:06 up 174 days, 4:42, 1 user, load average: 0.36, 0.25, 0.18

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

tecmint pts/0 116.72.134.162 21:48 0.00s 0.03s 0.03s sshd: tecmint [priv]

--------------------

Last logins:

tecmint pts/0 Tue Jul 16 21:48 still logged in 116.72.134.162

tecmint pts/0 Tue Jul 16 21:24 - 21:43 (00:19) 116.72.134.162

--------------------

Disk and memory usage:

Free/total disk: 292G / 457G

Free/total memory: 3510 / 3838 MB

--------------------

OOM errors since Jul 14 03:37 : 0

--------------------

Utilization and most expensive processes:

top - 22:01:07 up 174 days, 4:42, 1 user, load average: 0.36, 0.25, 0.18

Tasks: 149 total, 1 running, 148 sleeping, 0 stopped, 0 zombie

Cpu(s): 0.1%us, 0.0%sy, 0.0%ni, 99.3%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st

 

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

1 root 20 0 3788 1128 932 S 0.0 0.0 0:32.94 init

2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd

3 root RT 0 0 0 0 S 0.0 0.0 0:14.07 migration/0

例子五:查看硬盘使用情况及发送提示邮件

下面的这个例子展示了当硬盘的使用空间超出了预期设定的值时,如果通过脚本来发送提示邮件。

MAX=95

EMAIL=server@127.0.0.1

PART=sda1

 

USE=`df -h |grep $PART | awk '{ print $5 }' | cut -d'%' -f1`

if [ $USE -gt $MAX ]; then

echo "Percent used: $USE" | mail -s "Running out of disk space" $EMAIL

fi

说明:将上述脚本中的“USER”替换成你的用户名。你可以通过命令“mail”来查看你的邮件。

--结束END--

本文标题: 5个Shell脚本编程入门练习例子

本文链接: https://www.lsjlt.com/news/17748.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Shell脚本编程入门编写教程
    这篇文章主要讲解了“Shell脚本编程入门编写教程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell脚本编程入门编写教程”吧!例子一:绘制特殊图形代码如下:#!/bin/bash&nb...
    99+
    2023-06-09
  • 3个shell的小脚本的练习
    1;打印9*9乘法表2;输出国际象棋的棋盘3;猴子;摘了n个香蕉每天,吃一半,+1第九天剩一个求摘了几个香蕉 1;打印99乘法表一:for i in {1..9}do for j in seq $idoecho -n “$i$j=$(i*j...
    99+
    2023-01-31
    脚本 shell
  • Shell脚本编程的示例分析
    这篇文章给大家分享的是有关Shell脚本编程的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是Shell脚本Shell脚本(英语:Shell script),又称Shell命令稿、程序化脚本,是一种电...
    99+
    2023-06-09
  • Shell 脚本编写入门指南:从 Java 开始学起
    Shell 脚本是一种非常强大的工具,可以让你通过简单的命令快速地完成复杂的任务。它可以让你自动化很多繁琐的工作,例如文件操作、系统管理、进程管理等等。在这篇文章中,我们将从 Java 开始学习 Shell 脚本编写,帮助你更好地理解 S...
    99+
    2023-10-15
    django linux shell
  • Go语言中的Shell脚本编写技巧和LeetCode算法练习推荐
    Shell脚本是Unix和Linux操作系统中最常见的脚本语言之一,它可以用来自动化执行一些重复性的任务,比如批量处理文件、备份数据等。而Go语言则是一门比较新的编程语言,它的语法简洁、易于学习和使用,适合于编写高性能的网络应用程序和云计...
    99+
    2023-06-20
    shell 日志 leetcode
  • 用Python编写自己的Shell API脚本:从入门到精通
    Python是一种广泛使用的编程语言,而Shell是一种命令行解释器。Python可以通过编写Shell API脚本来扩展其命令行功能。本文将介绍如何用Python编写自己的Shell API脚本,从入门到精通。 安装Python 在编...
    99+
    2023-10-16
    关键字 shell api
  • shell脚本编程之数组的示例分析
    这篇文章将为大家详细讲解有关shell脚本编程之数组的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。数组就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用...
    99+
    2023-06-09
  • Java和Unix Shell编程学习笔记:如何编写可重用的Shell脚本?
    Shell脚本是Unix系统中常用的一种脚本语言,它可以通过命令行界面或者脚本文件来执行一系列的操作。而编写可重用的Shell脚本则可以大大提高脚本的灵活性和可维护性,使得我们可以更加高效地完成工作。本文将介绍如何编写可重用的Shell脚...
    99+
    2023-09-12
    shell unix 学习笔记
  • 如何编写Linux下CentOS查后门程序的shell脚本
    这篇文章主要讲解了“如何编写Linux下CentOS查后门程序的shell脚本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何编写Linux下CentOS查后门程序的shell脚本”吧!每...
    99+
    2023-06-09
  • Shell脚本编写技巧分享:Go语言+日志记录+LeetCode算法练习
    Shell脚本编写技巧分享:Go语言 日志记录 LeetCode算法练习 在Shell脚本编写中,我们常常需要记录日志、调用其他语言进行计算等。本文将介绍如何使用Go语言编写Shell脚本中的日志记录和LeetCode算法练习,帮助你更好地...
    99+
    2023-06-20
    shell 日志 leetcode
  • shell脚本编程中case语句的实例用法
    本篇内容介绍了“shell脚本编程中case语句的实例用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!case语句是用来实现多个if..e...
    99+
    2023-06-09
  • Java和Unix Shell编程学习笔记:如何优化你的Shell脚本?
    Shell脚本是一种非常重要的编程语言,它可以帮助我们自动化执行一些重复性的任务,提高工作效率。但是,当脚本变得越来越复杂时,我们很容易陷入性能问题。本文将介绍一些优化Shell脚本的技巧,以提高其性能。 一、使用变量 Shell脚本中使...
    99+
    2023-09-12
    shell unix 学习笔记
  • Linux命令行和shell脚本编程的示例分析
    小编给大家分享一下Linux命令行和shell脚本编程的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第一个脚本文件代码如下:#!/bin/bashech...
    99+
    2023-06-09
  • 从日志记录到LeetCode算法练习:Go语言中Shell脚本编写的完美实践
    随着软件开发越来越复杂,我们需要管理和维护越来越多的数据。日志记录是软件开发的重要组成部分之一,它可以帮助我们实时监控应用程序的运行情况,并快速定位和解决问题。在本文中,我们将探讨如何使用Go语言中的Shell脚本编写完美的日志记录和Le...
    99+
    2023-06-20
    shell 日志 leetcode
  • Shell 脚本和 Python 编程,哪个更适合算法的实现?
    随着数据科学和人工智能领域的迅速发展,算法的实现变得越来越重要。对于程序员来说,选择一种适合算法实现的编程语言非常关键。在本文中,我们将比较 Shell 脚本和 Python 编程的优劣,以便更好地了解哪种编程语言更适合算法的实现。 Sh...
    99+
    2023-08-21
    bash 编程算法 shell
  • Linux中Shell脚本编程之正则表达式的示例分析
    这篇文章主要介绍了Linux中Shell脚本编程之正则表达式的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一 正则表达式与通配符1 正则表达式是用在文件中匹配符合条...
    99+
    2023-06-09
  • Python学习笔记:19个pythonic编程习惯,让你的Python入门更优雅
    Python最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净、整洁、一目了然。要写出 Pythonic(优雅的、地道的、整洁的)代码,需要多看多学大牛们写的代码,github 上有很多非常优秀的源代码值得阅读,比如:requests...
    99+
    2023-06-02
  • Python编程初学者的快速起步:5个基本代码示例
    快速入门Python编程:5个基础代码案例 Python是一种流行的高级编程语言,它简单易学,具有丰富的库和功能,被广泛应用于数据分析、机器学习、网站开发等领域。在本文中,我将向你介绍5个基础的Python代码案例,帮助你快速入...
    99+
    2024-01-13
  • Node.js CommonJS 规范的学习资源大放送:5本好书,3个教程,带你深入理解模块化开发
    作为一名 Node.js 开发者,你是否想要深入理解 CommonJS 规范,更有效地构建模块化应用程序?本文将为你提供 5 本好书和 3 个教程资源,帮助你全面掌握 CommonJS 规范,提升你的模块化开发技能。 1. 好书推荐 ...
    99+
    2024-02-04
    Node.js CommonJS 模块化开发 JavaScript
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作