Shell 脚本学习笔记

目录

1、创建Shell文件

2、运行Shell脚本

3、Shell变量

4、Shell 字符串

5、Shell数组

6、Shell注释

7、Shell传递参数

8、Shell基本运算符

9、Shell echo命令

10、Shell printf 输出命令

11、Shell test 命令

12、Shell 流程控制

13、Shell函数

14、Shell 文件包含


1、创建Shell文件

       编辑shell文件内容,保存后会自动创建对应的test.sh文件。

2、运行Shell脚本

     1)可执行程序运行

         修改脚本执行权限 chmod +x ./test.sh

         执行脚本  ./test.sh

    2) 作为解释器参数

       直接运行解释器,参数为shell脚本文件 sh test.sh

3、Shell变量

       1)变量命名

            命名只能使用英文字母,数字和下划线,首个字符不能以数字开头

            中间不能有空格,可以使用下划线(_)

            不能使用标点符号

            不能使用bash里的关键字(可用help命令查看保留关键字)

             变量大小写敏感

            定义变量user_name=”wangchao”等号前后不能有空格

       2)变量使用

           $变量名

          ${变量名}

           定义变量user_name=”wangchao”

           定义变量user_name =”wangchao”

           定义变量user_name= ”wangchao”

          使用变量 $user_name 或者 ${user_name}

       3)只读变量

           使用readonly命令可以将变量定义为只读变量。

url = “baidu.com”
readonly url
url=”www.baodu.com”
echo url

      4)变量类型

       shell 存在三种变量

       局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量

      环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量

      shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

4、Shell 字符串

     字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号

    1)单引号

       单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的

       单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用

     2)双引号

         双引号里可以有变量

         双引号里可以出现转义字符

    3)反引号(` `)

         在反引号中的字符串将解释成shell命令来执行

    4)拼接字符串

        双引号拼接,单引号拼接

    5)获取字符串长度

        使用#获取变量字符串值的长度

user_name=”wangchao”
echo ${#user_name}

    6)提取子字符串

echo $user_name:1:4  # 错误用例
echo ${user_name:1:4}

     7)查找子字符串

          查找字符i或者o的第一个位置

string=runoob is great site
echo `expr index "$string"io`

5、Shell数组

bash支持一维数组(不支持多维数组),并且没有限定数组的大小

数组元素的下标由 0 开始。获取数组元素要利用下标,下标可以是整数或算术表达式可以不使用连续的下标,而且下标的范围没有限制

1)数组定义

在 Shell 中,用括号来表示数组,数组元素用"空格"符号分割开

array_name=(value0 value1 value2 value3)

或者

array_name=(

value0

value1

value2

value3

)

2)数组读取

value=${array_name[n]}

使用@符号可以获取数组中的所有元素

echo ${array_name[@]}

3)获取数组长度

获取数组元素个数 len=${#array_name[@]} 或者 len=${#array_name[*]}

获取数组单个元素长度 len=${#array_name[n]}

6、Shell注释

行注释使用 #

多行注释使用 :<<EOF  注释..... EOF 或者 :<< 

1. 什么是shell脚本Shell脚本是一种编程语言,它是在Unix和Linux操作系统中使用的一种脚本语言。它可以帮助用户自动化任务,并且可以运行一系列命令。 Shell脚本通常以.sh扩展名结尾。 2. 为什么要学习shell脚本? 学习shell脚本可以帮助你自动化任务,提高工作效率。Shell脚本也可以帮助你编写小工具,方便你自己或其他人使用。Shell脚本还可以帮助你更好地理解Linux和Unix操作系统。 3. 如何编写一个简单的shell脚本? 首先,在命令行中输入命令nano test.sh,创建一个名为test.sh的文件。然后,在文件中输入以下内容: #!/bin/bash echo "Hello World" 接着,按下Ctrl + X,然后按下Y,最后按下Enter,保存并退出文件。接下来,您需要在命令行中输入以下命令: chmod +x test.sh ./test.sh 这将使test.sh文件可执行,并运行脚本。在命令行中,您应该看到输出“Hello World”。 4. shell脚本中的注释是什么? 注释是用于向脚本中添加说明和文档的文本。在Shell脚本中,注释以“#”开头。注释不会被脚本解释器执行,但可以帮助其他人更好地理解脚本。 5. 如何在shell脚本中使用变量? 变量是一个用于存储值的占位符。在Shell脚本中,您可以使用以下语法来定义变量: my_variable="Hello World" 您可以使用echo命令来输出变量的值: echo $my_variable 6. 如何在shell脚本中使用条件语句? 在Shell脚本中,您可以使用条件语句来执行基于条件的操作。以下是一个示例条件语句: if [ $my_variable = "Hello World" ] then echo "The variable contains Hello World" else echo "The variable does not contain Hello World" fi 7. 如何在shell脚本中使用循环? 在Shell脚本中,您可以使用for循环或while循环来执行重复的操作。以下是一个示例for循环: for i in 1 2 3 4 5 do echo $i done 以上代码将输出数字1到5。 8. 如何在shell脚本中使用函数? 在Shell脚本中,您可以使用函数来组织和重复使用代码。以下是一个示例函数: function say_hello { echo "Hello World" } 您可以通过以下方式调用函数: say_hello 9. 如何从shell脚本中读取用户输入? 在Shell脚本中,您可以使用read命令来从用户那里读取输入。以下是一个示例: echo "What is your name?" read name echo "Hello $name" 以上代码将提示用户输入他们的名字,并输出“Hello”后跟用户的名字。 10. 如何在shell脚本中使用命令行参数? 在Shell脚本中,您可以使用$1、$2、$3等变量来访问命令行参数。例如,以下是一个示例脚本,它接受两个命令行参数并将它们相加: #!/bin/bash sum=$(($1 + $2)) echo "The sum of $1 and $2 is $sum" 您可以使用以下命令来运行脚本并传递两个参数: ./test.sh 2 3 以上代码将输出“The sum of 2 and 3 is 5”。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仰望星空@脚踏实地

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值