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

从历史上看,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脚本。因此,请自己尝试这些简单的示例以获得第一手经验。

e9cb02d846ca03cc20c832a1147f32c5.png

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

a512eb869b29629658ec1aacff7541a0.png

它将打印出传递给脚本内部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传递给它的字符串包含特殊字符,需要扩展功能。

662d31b6139678b6bf41f9f0101437a5.png

3、使用注释

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

#!/bin/bash

# 两个值相加

((sum=17+19))

#打印结果

echo $sum

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

e410736eaed19af8468c7158e87e37f2.png

4、多行注释

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

#!/bin/bash

: '

该脚本计算

5的平方。

'

((area=5*5))

echo $area

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

0bad77878d3a33df519318c7393df1bb.png

5. While循环

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

#!/bin/bash

i=0

while [ $i -le 2 ]

do

echo Number: $i

((i++))

done

8c7f58d4f41f9c823e61a8af4701f6c3.png

因此,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。

edfec1e7a27e7fbea8fefa10b5585ed9.png

7、接收用户的输入

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

#!/bin/bash

echo -n "输入内容:"

read something

echo "您输入了:$something"

e4b2f88ad33fc7837bd17ce0f10e6dac.png

因此,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

891e8ddd026b6d24553c1b99bc50e57d.png

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

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

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

#!/bin/bash

read n

if [ $n -lt 10 ];

then

echo "这是一个数字"

else

echo "这是一个两位数的数字"

fi

b3589bf59ccb5d5599818c2754615088.png

else部分需要放在if的操作部分和fi之间。

如果喜欢,请继续关注Linux公社。

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值