Linux世界BASH Shell脚本 - 第三部分

“Shell脚本 ”系列的前下面的文章进行了高度赞赏,所以我写这篇文章,以延长学习永无止境的过程。

基本Shell脚本第3部分

  1. 了解基本的Linux Shell脚本语言提示 - 第一部分
  2. 5 Shell脚本Linux新手学习Shell编程 - 第二部分
Bash关键字
关键字是一个单词或符号有特殊含义的一种计算机语言。 下面的符号和文字有特殊的含义 的时候都加引号和命令的第一个字。
! 			esac 			select 		} 
case 			fi 			then 		[[ 
do 			for 			until 		]] 
done 			function 		while 		elif
if 			time 			else 		in 		{
与大多数计算机语言 ,bash允许 关键字作为 变量名 ,即使这可以使脚本难以阅读。为了保持脚本可理解,关键词不应该用于变量名。 一个命令是壳实现为 $(命令)。 您可能需要包括命令的完整路径。 例如 ,$(如/ bin /日),为正确执行。 你可能知道使用 “whereis”命令的具体程序的路径。 例如 ,whereis日期
[root@youcl /]# whereis date
date: /bin/date /usr/share/man/man1/date.1.gz
这已经足够了。我们现在不会多谈这些理论。到脚本。

移动当前工作目录

从当前工作目录移动到任何级别,只需在执行时在脚本结尾提供数值。
#! /bin/bash 
LEVEL=$1 
for ((i = 1; i <= LEVEL; i++)) 
do 
CDIR=../$CDIR 
done 
cd $CDIR 
echo "You are in: "$PWD 
exec /bin/bash
保存上面的代码为 “up.sh”,在桌面上。 让它运行 (chmod 755 up.sh)。跑: ./up.sh 2(将移动当前工作目录二级以上)。 ./up.sh 4(将移动当前工作目录四级以上)。
使用和应用领域
其中包含文件夹内的文件夹内较大的脚本...包含 二进制文件图标可执行文件等在不同的位置,你作为一个开发者可以执行这个脚本移动到所需的位置在一个非常自动化的方式。 注意 :对于在上述脚本一个循环,它会继续执行,直到值是循环如此。
示例输出
[root@youcl /]# chmod 755 up
[root@youcl /]# ./up.sh 2
You are in: /
[root@youcl /]# ./up.sh 4 
You are in: / 
[root@youcl /]#

创建随机文件或文件夹

创建一个没有重复机会的随机文件(文件夹)。
#! /bin/bash
echo "Hello $USER";
echo "$(uptime)" >> "$(date)".txt
echo "Your File is being saved to $(pwd)"
这是一个简单的脚本,但它的工作不是那么简单。
  1. 回响 ”:打印一切引号内写的。
  2. “$”:是一个shell变量。
  3. “>>”:输出重定向到date命令的输出后跟TXT扩展名。
我们知道 date命令的输出 日期时间小时分钟, 以及 。 因此,我们可以得到一个有组织的文件名的输出,而没有文件名重复的机会。 这可能是当用户需要使用供将来参考 时间戳创建的文件非常有用。
示例输出
[root@youcl /]# ./randomfile.sh  
Hello server 
Your File is being saved to /home/server/Desktop
您可以查看在今天的日期和当前时间在桌面上创建的文件。
[root@youcl /]# nano Sat\ Jul\ 20\ 13\:51\:52\ IST\ 2013.txt 
13:51:52 up  3:54,  1 user,  load average: 0.09, 0.12, 0.08
更详细的实施上述脚本的下面给出,其适用于上述原理,并在收集 Linux服务器的网络信息非常有用的。

收集网络信息的脚本

收集在 Linux服务器上的网络信息。脚本太大,不可能在这里发布脚本的整个代码和输出。所以,最好是你可以下载脚本使用下面的下载链接,并自己测试。 注意 :您可能需要安装 LSB核心封装等所需的软件包和依赖 公寓Yum所需的软件包。 显然,你需要以 root运行脚本,因为大多数这里使用的命令被配置为以 root身份运行。
示例输出
[root@youcl /]# ./collectnetworkinfo.sh  
The Network Configuration Info Written To network.20-07-13.info.txt. Please email this file to your_name@service_provider.com. ktop
您可以在脚本中更改上述电子邮件地址,以便将其邮寄给您。可以查看自动生成的文件。

将UPPERCASE转换为小写的脚本

一个脚本,它将 大写转换为 小写和输出,可根据需要修改文本文件 “small.txt”重定向。
#!/bin/bash 
echo -n "Enter File Name : " 
read fileName 
if [ ! -f $fileName ]; then 
echo "Filename $fileName does not exists" 
exit 1 
fi 
tr '[A-Z]' '[a-z]' < $fileName >> small.txt
这上面的脚本可以在任何长度的文件的情况下转换与 大写一个单一的点击,如果需要为 小写 ,反之亦然,几乎不做修改。
示例输出
[root@youcl /]# ./convertlowercase.sh  
Enter File Name : a.txt 
Initial File: 
A
B
C
D
E
F
G
H
I
J
K
...
新建文件 (small.txt)的输出:
a
b
c
d
e
f
g
h
i
j
k
...

简单的计算器程序

#! /bin/bash 
clear 
sum=0 
i="y" 
echo " Enter one no." 
read n1 
echo "Enter second no." 
read n2 
while [ $i = "y" ] 
do 
echo "1.Addition" 
echo "2.Subtraction" 
echo "3.Multiplication" 
echo "4.Division" 
echo "Enter your choice" 
read ch 
case $ch in 
1)sum=`expr $n1 + $n2` 
echo "Sum ="$sum;; 
2)sum=`expr $n1 - $n2` 
echo "Sub = "$sum;; 
3)sum=`expr $n1 \* $n2` 
echo "Mul = "$sum;; 
4)sum=`expr $n1 / $n2` 
echo "Div = "$sum;; 
*)echo "Invalid choice";; 
esac 
echo "Do u want to continue (y/n)) ?" 
read i 
if [ $i != "y" ] 
then 
exit 
fi 
done
示例输出
[root@youcl /]# ./simplecalc.sh 
Enter one no. 
12 
Enter second no. 
14 
1.Addition 
2.Subtraction 
3.Multiplication 
4.Division 
Enter your choice 
1 
Sum =26 
Do u want to continue (y/n)) ? 
y
1.Addition 
2.Subtraction 
3.Multiplication 
4.Division 
Enter your choice 
3 
mul = 14812
Do u want to continue (y/n)) ? 
n

所以你看到创建一个强大的程序作为计算这么简单的方法是多么容易。它的不是结束。我们将至少再撰写本系列的一篇文章,涵盖从行政管理角度看的广泛视角。 目前为止就这样了。作为读者和最好的评论家不要忘记告诉我们在这篇文章中有多少和你喜欢什么,以及在未来的文章中你想看到什么。任何问题是非常受欢迎的评论。在那之前保持 健康安全调整就像分享我们,帮助我们传播。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏