- cat /etc/shells 查看linux提供的解析器,常用的解析器有:
/bin/sh
/bin/bash
- touch 文件名.sh 创建一个脚本,每一个脚本都必须指定解析器;脚本都必须拥有可执行的权限:chmod 777 脚本名
- 常用的系统环境变量:
$HOME
$PWD
$SHELL
$USER
echo $HOME:查看系统变量的值;set:显示当前系统中的所有变量
-
自定义变量规则:
a:变量名只能由字母数字下划线组成,不能以数字开头
b:等号两侧不能有空格
c:双引号可以识别空格之外的其他边变量,使用单引号会忽略空格
d:反引号可以将语句的结果赋值给变量 -
撤销变量
unset
- 静态变量
readonly
不能使用unset撤销
7. 特殊变量
a:$n:n为数字,$1-
9
代
表
第
一
到
第
九
个
参
数
,
十
以
上
:
9代表第一到第九个参数,十以上:
9代表第一到第九个参数,十以上:{10}
b:$#:用于获取输入参数的个数
例:
#! bin/sh
echo "$0 $1 $2"
echo $#
c:
∗
:
把
所
有
参
数
看
成
一
个
整
体
d
:
*:把所有参数看成一个整体 d:
∗:把所有参数看成一个整体d:@:把每一个参数分开对待
e:$?:判断脚本是否正常执行;如果含有return则表示输出return返回值
8. 流程控制
if判断
if [条件判断];
then 程序
elif 条件判断
then 程序
else 程序
fi
case语句
case $变量名 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
*)
默认执行的命令序列;;
esac
for循环:
for 变量 in 值1
do
程序
done
while循环:
while [条件判断]
do
程序
done
- 函数
基本语法:
function 函数名()
{代码块}
规则:
a:在调用函数之前,先声明函数
b:函数返回值时,只能通过$?获得;return可以不加,也可以加,如果不加将以最后一条命令结果作为返回值;return数值范围(0-255)
#!/bin/bash
function sum()
{
s=$[ $1 + $2 ]
echo "$s"
}
read -p "Please input the number1: " n1
read -p "Please input the number2: " n2
sum $n1 $n2
- 输入输出
3秒内输入
read -t3 -p "请输入:"
输出:
echo $name: