1. HelloWorld案例
脚本以#!/bin/bash开头(指定解析器)
#!/bin/bash
echo "HelloWorld"
2. 多命令操作案例
在/home/hello目录下创建一个hello.txt,在该文件中增加“hello world"
#!/bin/bash
cd /home/hello
touch hello.txt
echo "hello world" >> hello.txt
3. Shell中的变量
3.1 常用的系统变量
$HOME
$PWD
$SHELL
$USER
echo $HOME
3.2 自定义变量
定义变量: 变量=值
撤销变量: unset 变量
声明静态变量: readonly变量, 注意,不能unset
变量定义规则:
(1)变量名称可以由字母、数字及下划线组成,但是不能以数字开头,环境变量名建议大写;
(2)等号两侧不能有空格;
(3)在bash中,变量默认类型都是字符串类型,无法直接进行数值运算;
(4)变量的值如果有空格,需要使用双引号或单引号括起来;
A=1
echo $A
unset A
readonly B=2
echo $B
# 可把变量提升为全局环境变量,可供其他shell程序使用
D="HelloWorld"
# 在原有.sh文件的基础上,运用export
export D
# 再运行.sh文件时,变量D的内容就会被打印出来
3.3 特殊变量:$n
$n: 功能描述:n为数字,$0代表该脚本名称,$1- 9 代 表 第 一 到 第 九 个 参 数 , 十 以 上 的 参 数 , 十 以 上 的 参 数 需 要 用 大 括 号 包 含 , 如 9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如 9代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如{10};
#s输出该脚本文件的名称,输入参数1和输入参数2的值
#!/bin/bash
echo "$0 $1 $2"
3.4 特殊变量:$#
$#:功能描述:获取所有输入参数个数,常用于循环
# 获取输入参数的个数
#!/bin/bash
echo "$0 $1 $2"
echo $#
3.5 特殊变量:$* $@
∗ : 功 能 描 述 : 这 个 变 量 代 表 命 令 行 中 所 有 的 参 数 , * :功能描述:这个变量代表命令行中所有的参数, ∗:功能描述:这个变量代表命令行中所有的参数,$*所有的参数看成一个整体
$@:功能描述:这个变量也代表命令行中所有的参数,不过其把每个参数区分对待
#打印输入的所有参数
#!/bin/bash
echo "$0 $1 $2"
echo $#
echo $*
echo $@
3.6 特殊变量:$?
$?:功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己决定),则证明上一个命令执行不正确了。
# 判断HelloWorld.sh脚本是否正确执行。
sh HelloWorld.sh
echo $?