简单而有效的Linux Shell脚本示例

fsfsdfsdw 2020-04-22

直播:近二十载从业老兵谈金融科技赋能的探索与实践

从历史上看,shell一直是类Unix系统的原生命令行解释器。多年来,它已被证明是Unix的主要功能之一,它本身已发展成为一个全新的话题。

Linux提供了具有强大功能的各种功能强大的Shell,包括Bash,Zsh,Tcsh和Ksh。这些Shell程序最令人惊奇的功能之一就是它们的可编程性。创建简单而有效的Linux Shell脚本来处理日常工作非常容易。此外,对这一主题的一点了解将使您立即成为Linux的高级用户。请和我们一起对Unix Shell脚本进行详细介绍。

Linux Shell脚本示例

在Linux上完成的大多数shell脚本都涉及bash shell。具有指定选择的高级用户经常使用其他Shell,例如Zsh和Ksh。由于示例的广泛使用和巨大的可用性,我们在示例中将大部分坚持使用Linux bash脚本。我们的编辑器还尝试概述一些处理bash以外的shell的shell脚本示例。您会发现不同的Shell脚本之间相当熟悉。

Linux Bash脚本

Bash又名Bourne Again Shell,是当今大多数Linux发行版中的默认命令行解释器。它是对早期Bourne Shell的升级,学习bash shell脚本将使您更快地了解其他shell脚本。因此,请自己尝试这些简单的示例以获得第一手经验。

简单而有效的Linux Shell脚本示例

1. Hello World

程序员经常通过学习hello world程序来学习新语言。这是一个简单的程序,可将字符串“ Hello World”打印到标准输出。使用vim或nano之类的编辑器创建文件linuxidc.sh并将以下几行复制到其中。

#!/bin/bash 
echo "Hello World,www.linuxidc.com" 

保存并退出文件。您需要使用以下命令使该文件可执行。

$ chmod a + x linuxidc.sh 

您可以使用以下两个命令中的任何一个来运行它。

$ bash linuxidc.sh 
$ ./linuxidc.sh 

简单而有效的Linux Shell脚本示例

它将打印出传递给脚本内部echo的字符串。

2. 使用echo进行打印

echo命令用于以bash格式打印信息。它类似于C函数'printf',并提供许多常用选项,包括转义序列和重定向。

将以下几行复制到一个名为linuxidc.com.sh的文件中,并使其可执行,如上所述。

#!/bin/bash 
echo "Linux公社www.linuxidc.com" 
echo -n "不使用换行符打印文本" 
echo -e "\nUbuntu \t CentOS \t debian\n" 

运行脚本,看看它做了什么。-e选项用于告诉echo传递给它的字符串包含特殊字符,需要扩展功能。

简单而有效的Linux Shell脚本示例

3. 使用注释

注释对于文档很有用,并且是高质量代码库的要求。在处理关键逻辑的代码中放入注释是一种常见的做法。要注释掉一行,只需在它前面使用#(散列)字符。检查以下bash脚本示例。

#!/bin/bash 
 
# 两个值相加 
((sum=17+19)) 
 
#打印结果 
echo $sum 

该脚本将输出数字36。请在某些行之前使用#检查如何使用注释。但是第一行是一个例外。它被称为shebang,让系统知道运行此脚本时使用哪个解释器。

简单而有效的Linux Shell脚本示例

4. 多行注释

许多人使用多行注释来记录其Shell脚本。在下一个名为linuxidc.com.sh的脚本中检查如何完成此操作。

#!/bin/bash 
: ' 
该脚本计算 
5的平方。 
' 
((area=5*5)) 
echo $area 

注意多行注释是如何放置在:' and '字符中的。

简单而有效的Linux Shell脚本示例

5. While循环

while循环结构用于多次运行某些指令。请查看以下名为while.sh的脚本,以更好地理解此概念。

#!/bin/bash 
i=0 
 
while [ $i -le 2 ] 
do 
echo Number: $i 
((i++)) 
done 

简单而有效的Linux Shell脚本示例

因此,while循环采用下面的形式。

while [ condition ] 
do 
commands 1 
commands n 
done 

方括号是必需的。

6. For循环

for循环是另一种广泛使用的bash shell构造,它允许用户有效地遍历代码。下面演示一个简单的示例。

#!/bin/bash 
 
for (( a=1; a<=5; a++ )) 
do 
echo -n "$a " 
done 
 
printf "\n" 

将此代码保存在名为inuxidc.com.sh的文件中,然后使用./linuxidc.com.sh运行它。不要忘记使其可执行。该程序应打印出数字1到15。

简单而有效的Linux Shell脚本示例

7、接收用户的输入

获取用户输入对于在脚本中实现用户交互至关重要。下面的Shell脚本示例将演示如何在Shell程序中接收用户输入。

#!/bin/bash 
 
echo -n "输入内容:" 
read something 
 
echo "您输入了:$something" 

简单而有效的Linux Shell脚本示例

因此,read结构后跟一个变量名,用于获取用户输入。输入存储在这个变量中,可以使用$符号访问它。

8. If语句

如果语句是Unix shell脚本中最常见的条件构造,则它们采用以下形式。

if CONDITION  
then 
STATEMENTS 
fi 

仅当条件为true时才执行语句。fi关键字用于标记if语句的结尾。下面是一个简单的示例。

#!/bin/bash 
 
echo -n "请输入数字: " 
read num 
 
if [[ $num -gt 17 ]] 
then 
echo "数字大于17." 
fi 

简单而有效的Linux Shell脚本示例

仅当通过输入提供的数字大于17时,以上程序才会显示输出。该-gt表示大于; 类似地-lt小于;-le小于等于;和-Ge为大于等于。[[]]是必需的。

9. 使用If Else进行更多控制

将else构造与if结合使用,可以更好地控制脚本的逻辑。一个简单的例子如下所示。

#!/bin/bash 
 
read n 
if [ $n -lt 10 ]; 
then 
echo "这是一个数字" 
else 
echo "这是一个两位数的数字" 
fi 

相关推荐