shell脚本入门
echo 命令
-n:echo输出的文本末尾会有一个回车符。-n参数可以取消末尾的回车符 -e:-e参数会解释引号(双引号和单引号)里面的特殊字符(比如换行符\n)
shift 命令
改变脚本参数,每次执行都会移除脚本当前的第一个参数($1),使得后面的参数向前一位
shell
#!/bin/bash
echo "一共输入了 $# 个参数"
while [ "$1" != "" ]; do
echo "剩下 $# 个参数"
echo "参数:$1"
shift
done
exit 命令
终止当前脚本的执行,并向 Shell 返回一个退出值
exit 0
: 退出值为0(成功退出)exit 1
: 退出值为1(失败退出)
shell
#!/bin/bash
if [ $(id -u) != "0" ]; then # id -u命令返回用户的 ID,一旦用户的 ID 不等于0(根用户的 ID)就退出
echo "root用户才能执行当前脚本"
exit 1
fi
TIP
return命令是函数的退出,并返回一个值给调用者,脚本依然执行。exit是整个脚本的退出
执行结果返回值
命令执行结束后,会有一个返回值。0表示执行成功,非0(通常是1)表示执行失败; $?为0表示上一条命令执行成功
shell
#!/bin/bash
cd /path/to/somewhere
if [ "$?" = "0" ]; then
rm *
else
echo "无法切换目录!" 1>&2
exit 1
fi
简写
shell
#!/bin/bash
cd /path/to/somewhere && rm *
cd /path/to/somewhere || exit 1
source 命令
source命令可用于执行一个脚本,但通常用于重新加载一个配置文件
- 简写形式,可以使用一个点(.)来表示:
. .bashrc
source命令的另一个用途,是在脚本内部加载外部库
shell
#!/bin/bash
source ./lib.sh # 引入外部库,可以调用外部库的函数
function_from_lib
alias 别名
用来为一个命令指定别名
- 调用
alias
命令,可以显示所有别名 unalias
命令可以解除别名
shell
#!/bin/bash
alias today='date +"%A, %B %-d, %Y"'
today # 直接调用命令,而不是使用 echo $today输出
# Thursday, May 26, 2022