set
:查看环境变量;
0. 简单说明
一般而言,shell 会通过 PATH 变量来查找命令,如果要执行用户编写的脚本(未添加进 PATH 路径),还需两步操作:
- 需要
$ ./xx
- 为需执行该脚本的用户增加执行权限:
chmod u+x xx
(chmod o+x xx
)
1. 基本用法
- echo 使用
-n
参数:将通过echo
输出的文本字符串和后续的命令执行输出不换行: - 环境变量,在环境变量前加
$
来使用这些环境变量(echo $USER/$UID/$HOME
) - 用户变量,shell 脚本会自动决定变量值的数据类型,在脚本的整个生命周期内,shell 脚本中定义的变量会一直保持着它的值,但在 shell 脚本结束时会被删除掉,与环境变量相似,用户变量也是通过美元符引用
2. 交互式脚本(read:读取键盘输入)
使用 read
命令读取来自键盘输入的变量。该变量常用于 shell script 的编写当中,用于和用户交互。
$ read [-pt] variable
-p(prompt):后面可以跟提示符;
-t:后面可以接等待的秒数,而不会无休止地等待用户输入
范例1:读取用户输入到指定变量名
$ read variablename
hello_world!
$ echo $variablename
hello_world!
范例2:提示用户 15 秒内输入名字,并存入名为 name 的变量中
$ read -p "input your name: " -t 30 name
Zhang
$ echo $name
Zhang
3. 批量修改文件名:统一添加后缀
#!/bin/bash
tail=$1
for filename in `ls`
do
mv $filename ${filename}.$tail
done
4. 命令执行时间统计
#!/bin/bash
start=$(date +%s)
commands;
statements;
end=$(date +%s)
duration=$(( end-start ))
echo Time taken to exec is $duration seconds.