手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

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

[日期:2020-04-17] 来源:Linux公社  作者:醉落红尘 [字体: ]

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

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

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

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

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

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2020-04/162937.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款