shell script快速入门

Shell Script简介

Shell 脚本(shell script),是一种为 shell 编写的脚本程序。

业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。

第一个shell脚本

打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用 php 写 shell 脚本,扩展名就用 php 好了。

输入一些代码,第一行一般是这样:

#!/bin/bash
echo "Hello World !"

#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。

echo 命令用于向窗口输出文本。

运行 Shell 脚本有两种方法:

1、作为可执行程序

将上面的代码保存为 test.sh,并 cd 到相应目录:

chmod +x ./test.sh  #使脚本具有执行权限
./test.sh  #执行脚本

2、作为解释器参数

这种运行方式是,直接运行解释器,其参数就是 shell 脚本的文件名,如:

/bin/sh test.sh #直接运行Bourne Shell,文件名作为参数
/bin/php test.php #直接运行php,文件名作为参数

这种方式运行的脚本,不需要在第一行指定解释器信息,写了也没用。

Shell 变量

定义变量时,变量名不加美元符号($),如:

your_name="runoob.com"

使用变量

your_name="qinjx"
echo $your_name
#变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界
#推荐给所有变量加上花括号,这是个好的编程习惯。
echo ${your_name}   

变量类型

运行shell时,会同时存在三种变量:

  1. 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
  2. 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
  3. shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

Shell 字符串

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

单引号

str='this is a string'

单引号字符串的限制:

  • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
  • 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。

双引号

your_name="runoob"
str="Hello, I know you are \"$your_name\"! \n"
echo -e $str

输出结果为:

Hello, I know you are "runoob"! 

双引号的优点:

  • 双引号里可以有变量
  • 双引号里可以出现转义字符

Shell 数组

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

类似于 C 语言,数组元素的下标由 0 开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于 0。

定义数组

在 Shell 中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为:

#数组名=(值1 值2 ... 值n)
array_name=(value0 value1 value2 value3)
#或
array_name=(
value
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux shell脚本编程是在Linux系统上使用shell进行编程的方式。常用的shellbash、sh、csh、tcsh等。 入门步骤如下: 1. 创建一个文本文件,文件名以".sh"结尾,表示这是一个shell脚本。 2. 编写脚本内容,脚本内容主要由Linux命令和shell语句组成。 3. 修改文件权限,使脚本文件可执行。 4. 运行脚本,通过在终端中输入“./脚本文件名”来执行脚本。 编写一个简单的脚本示例: ``` #!/bin/bash echo "Hello, World!" ``` 第一行表示使用bash shell来执行这个脚本 第二行是一个命令,输出一个字符串 执行方式: ``` chmod +x script_name.sh ./script_name.sh ``` 如果想了解更多关于Linux shell脚本编程的知识,可以参考Linux shell教程或者使用"man bash"命令来查看bash命令手册。 ### 回答2: Shell是一个命令解释器,是Linux/Unix系统中的一种重要工具,它提供了一个命令行界面,允许用户与操作系统进行交互。Shell脚本编程是将一系列Shell命令进行组合,以解决自动化任务、文件操作、编译工具和其他日常任务的编程技术。 Shell脚本是一个文本文件,文件名通常以“.sh”作为后缀名。脚本文件以#! /bin/bash或#! /bin/sh等开头,然后是脚本命令。在Shell脚本编程中,需要掌握以下几个方面: 1.基本语法:Shell脚本语法和其他编程语言一样,包括变量定义、数学计算、逻辑控制、循环操作等。 2.变量:Shell脚本中使用变量存储数据,可以通过赋值运算符“=”定义变量,也可以通过参数传递给脚本。需要注意的是,Shell变量不需要显式声明数据类型,也不能用“$”前缀定义变量。 3.重定向:Shell脚本中通过重定向符“>”、“>>”、“<”和“<<”来控制标准输入/输出和错误输出,非常方便输出数据和错误信息以及读取文件数据。 4.管道:Shell脚本中使用“|”符号来建立管道,将一个命令的输出作为另一个命令的输入,实现数据流的处理和转换功能。 5.循环和分支:在Shell脚本编程中,循环和分支语句的使用非常重要,可以实现复杂的逻辑功能,例如for、while、until循环和if、case语句。 在实际应用中,Shell脚本可以用于各种系统自动化操作,例如服务器备份、日志分析、批量文件操作、软件编译、自动安装等。此外,Shell脚本还可以与其他编程语言(例如Python、Perl)结合使用,形成更强大的脚本解决方案。 总的来说,Shell脚本编程是Linux系统中非常重要的一项技能,掌握Shell脚本基础语法和常用命令是必须的,可以帮助您更高效地完成日常的操作和管理任务。掌握Shell脚本编程后,您可以更深入地理解Linux系统工作原理,提高自身的技术水平和工作效率。 ### 回答3: Linux shell脚本编程是一种编写通用命令行脚本的方法。在 Linux 系统中,shell是一个命令行解释器,可以执行用户输入的命令。通过编写shell脚本,我们可以轻松地将多个Linux命令整合在一个脚本中,自动化完成一系列工作。 在学习 Linux shell脚本编程之前,需要掌握基本的Linux命令和shell语法,比如条件判断、循环等基本语句。另外,了解Linux文件系统、文件读写等操作也是必备的知识。 从最简单的开始,编写一个输出Hello World的脚本: ```bash #!/bin/bash # 指定使用哪种shell echo "Hello World!" # 输出Hello World ``` 在这个例子中,我们使用了 `#!/bin/bash` 来声明我们使用的是Bash shell,并使用 `echo` 命令输出一个字符串。 接下来,我们可以学习基本的控制语句,例如条件语句和循环语句。条件语句可以用来根据变量值来执行不同的命令: ```bash #!/bin/bash var="Hello World!" if [ $var == "Hello World!" ]; then echo "Equal!" else echo "Not equal." fi ``` 在这个例子中,我们使用 `if` 和 `else` 语句来判断变量的值是否等于“Hello World!”,然后根据结果执行相应的命令。 另一个常见的控制语句是循环语句,可以用于重复执行一组命令: ```bash #!/bin/bash for i in 1 2 3 4 5 do echo "Number: $i" done ``` 在这个例子中,我们使用 `for` 循环来输出数字1-5。 除了基本的控制结构,shell脚本还支持参数处理和函数定义等高级语法。使用 `getopts` 命令可以方便地解析脚本参数: ```bash #!/bin/bash USAGE="Usage: $0 -f <filename> -n <num_lines>" while getopts ":f:n:" opt; do case $opt in f) file=$OPTARG ;; n) num_lines=$OPTARG ;; \?) echo "Invalid option: -$OPTARG" >&2 echo "$USAGE" >&2 exit 1 ;; :) echo "Option -$OPTARG requires an argument." >&2 echo "$USAGE" >&2 exit 1 ;; esac done echo "Printing $num_lines lines from $file:" head -n $num_lines $file ``` 在这个例子中,我们使用 `getopts` 命令和 `case` 语句来解析脚本参数,然后根据参数执行相应的命令。 最后,我们还可以定义函数,用于重复使用一组命令: ```bash #!/bin/bash function print_number { echo "Number: $1" } for i in 1 2 3 4 5 do print_number $i done ``` 在这个例子中,我们定义了一个名为 `print_number` 的函数,函数以一个参数为输入并输出字符串。 通过学习以上例子,我们可以了解到Linux shell脚本编程的基础语法和基本知识。在实践中,我们可以根据实际需求编写多种脚本来完成不同的任务,使Linux系统自动化执行一系列操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值