编程语言
首页 > 编程语言> > Shell 脚本基础知识

Shell 脚本基础知识

作者:互联网

什么是内核?
Linux内核负责管理CPU、内存、输入/输出设备等系统资源。当您启动Firefox时,内核会与硬件交互,为程序分配系统资源并确保其顺利运行。

什么是壳牌?
Shell 是一个提供与 Linux 操作系统交互的用户界面的程序。它允许用户输入命令,例如:(ls列出文件),shell 解释这些命令并代表用户运行。

Linux 中的 Shell 类型

Bash (Bourne-Again SHell):这是 Linux 中最常用的 shell,也是大多数发行版的默认 shell。
Zsh (Z SHell):与 Bash 类似,但提供附加功能和自定义选项。
Ksh (Korn SHell):与 Bash 和 C shell 兼容,并提供高级脚本编写功能。
Csh (C SHell):语法类似于 C 编程语言,深受开发人员欢迎。
Tcsh (TENEX C SHell):C shell 的改进版本,具有附加功能和改进。
什么是 Linux Shell 脚本?
Shell 脚本是编写可在 Linux CLI 上运行的脚本/程序的过程。它是用 shell 语言编写的,例如 Bash,用于自动执行重复任务等等。
Shell 脚本是解释型的,而不是编译型的。 当执行脚本时,shell 会逐行读取脚本,而不是立即编译并将其转换为二进制文件。这有助于修改脚本而无需重新编译。但是,Shell 脚本的运行速度可能比编译的程序慢。
它用于执行各种DevOps 任务,例如自动化部署、管理基础设施、部署代码以及监控。
理论已经够多了,让我们来实践一下:)

让我们创建一个 shell 脚本来自动执行创建新目录并将其更改到该目录的过程。

# !/bin/bash # 创建一个新目录 mkdirscripts #切换




目录
cdscripts
使用扩展名保存文件.sh。例如“change_dir.sh”
检查脚本文件的权限。应该有执行权限chmod 777 change_dir.sh

执行脚本./change_dir.sh

什么是舍邦?
上面的代码中#!/bin/bash称为 Shebang。

Shebang 是脚本中的一个特殊字符,它告诉操作系统使用哪个解释器来执行脚本。我们将使用 Bash 解释器。
它#!从解释器的路径开始。/bin/bash是解释器可执行文件的路径。
编写一个 Shell 脚本,打印 I will Complete #90DaysOofDevOps Challenge
#!/bin/bash

echo  "我将完成 #90DaysOofDevOps 挑战"
该脚本的作用如下:

#!/bin/bash: 是一个 Shebang,指定解释器,即 BASH
echo: 用于打印消息。
运行脚本:

将代码保存到文件中my_script.sh
使其可执行:chmod +x my_script.sh
然后执行脚本./my_script.sh

Shell 脚本中的输入和输出
用户输入:
#!/bin/bash
echo  "输入你的名字?"
read name

echo  "嗨$name,感谢您阅读博客:)"
该脚本的作用如下:

read name:命令读取用户的输入并将其保存到$name变量中。
echo:命令输出一条包含用户名的消息。
运行脚本:

将代码保存到文件中user_input.sh
使其可执行:chmod +x user_input.sh
然后执行脚本./user_input.sh

命令行参数:
命令行参数是执行脚本时传递给脚本的参数。

参数作为字符串传递,并且可以使用位置参数进行访问。
$0用于存储文件名,第一个参数使用 访问,$1第二个参数使用 访问$2,依此类推。
$#用于获取参数总数。
#!/bin/bash

echo  "文件名为: $0 "
echo  "姓名: $1 "
echo  "年龄: $2 "
echo  "关注更多此类内容$1 "
echo  "参数总数为: $# "

控制结构
控制结构有助于执行代码的条件执行。

Shell 脚本中最常用的控制结构是:

If-else 语句
For循环
If-else 语句
if-else 语句允许有条件地执行代码。

If-else 语句的语法

if [条件]
then
    # 条件为真时执行的代码
else
    # 条件为假时执行的代码
fi
通过比较 3 个数字,在 Shell 脚本中使用 If else 编写程序
#!/bin/bash

# 声明a、b、c,找出其中较大的数。
a=10
b=5
c=20

echo  "让我们找出最大的数字!"
echo  "a = $a , b = $b , c = $c "

if [[ $a -gt $b && $a -gt $c ]]
then
    echo  "A = $a更大"
elif [[ $b -gt $a && $b -gt $c ]]
然后
    echo  "B = $b更大"
else
    echo  "C = $c更大"
fi
该脚本的作用如下:

if 语句检查变量是否a大于两者b,并c 使用-gt比较运算符(代表大于)。如果这个条件为真,它会打印“A = $a 更大”。
如果第一个条件为 false,则代码使用 elif 语句检查下一个条件,该语句检查变量是否b大于a 和c。如果这个条件为真,它会打印“B = $b 更大”。
如果第一个和第二个条件都为假,则代码执行 else 块并打印“C = $c isgreater”。

For 循环
For 循环允许重复执行代码特定次数

For 循环的语法:

for Variable in Values
do
    # 要执行的代码
did
编写一个使用 For 循环显示 1 到 10 个数字的程序
#!/bin/bash
echo  "For 循环打印 1 到 10 个数字!"
for i in {1..10}
do
echo  "i 的值是: $i "
完成

功能
函数是更容易阅读和执行特定任务的小代码块。

#!/bin/bash

# 定义两个数字相加的函数
add_numbers () {
    sum =$(( $1 + $2 ))
    echo  "The sum of $1 and $2 is: $sum "
 }

# 调用该函数并传递两个数字作为参数
add_numbers 10 20


 

标签:学习编码,Shell ,开发运营
来源: