Shell文件
Shell 是一个用户跟操作系统之间的一个命令解释器创建shell文件
编写内容
#!/bin/bash
:这是一个 shebang 行,告诉系统这个脚本应该使用 bash
shell 来执行。#
是一个注释字符,用于说明这行的作用。
echo
命令,用于在终端输出文本
执行脚本
1.给文件执行权限
2.执行
使用绝对路径执行/bin/bash
是 Bash shell 的路径,
/home/yss/
是主目录,
Helloworld.sh
是脚本的名称。
使用相对路径执行
已经在包含
Helloworld.sh
脚本的目录,可以直接使用脚本名称来执行它
单引号
:
把引号的内容当成整体来看待,禁止引用其他变量值,
shell
中特殊符号都被视为普通字符
注释
只要在开始和结束处使用相同的标记即可 EOF 即End Of File变量
变量是用来临时保存数据的,该数据是可以变化的数据变量名定义规则
1.区分大小写 2.不能有特殊符号 3.给变量赋值时,有空格的字符串要用引号引起来(单引号或者双引号) 4. 不能以数字开头但可以包含数字 5. 等号两边不能有任何空格 6. 尽量做到见名知意 以上变量用法在 Shell 脚本中也同样适用变量的截取
[yss@192 ~]$ a=123456789 定义变量
[yss@192 ~]$ echo ${a:2:3} 表示从第2位开始截取,截取3个字符
345 结果
$
变量名
和
${
变量名
}
相同点:都可以调用变量
不同点:
${
变量名
}
可以只截取变量的一部分,而
$
变量名不可以
定义方式 :
变量名=变量值 1.直接赋值 变量值是一个值, 比如 a=1 2. 命令执行结果赋值给变量 变量值是 命令执行结果, 比如 a=`hostname` 3.交互式定义变量 (变量来源于用户输入或文件内容) 4.定义有类型的变量 (declare)交互式定义变量
第一种:用户输入赋值
read
命令用于从标准输入(通常是键盘)读取一行文本,并将其值赋给变量。
上面的截图中, read
命令用于读取用户输入的文本(tom),并将其存储在变量 name 中
第二种:文件内容赋值
read a < 1.txt
:这个命令从1.txt
文件中读取内容,并将其存储在变量a
中。
这里的 <
符号表示将文件内容作为输入重定向到read
命令。