$0 脚本文件名字
$n 这个脚本的第n个参数值,n=1..9,$9以后就需要大括号了,如${10},${11}...
$# 这个脚本的参数个数
$@ 是传给脚本的所有参数的列表
$? 执行上一个指令的返回值
$$ PID信息
echo -n 不换行输出
if [ -n str1 ] 当串的长度大于0时为真(串非空)
if [ -z str1 ] 当串的长度为0时为真(空串)
if [ str1 ] 当串str1为非空时为真
比较判断操作符:
-eq 等于 -ne 不等于 -gt 大于 -ge 大于等于 -lt 小于 -le 小于等于
文件比较
-e filename 如果 filename存在,则为真
-d filename 如果 filename为目录,则为真
-f filename 如果 filename为常规文件,则为真
-L filename 如果 filename为符号链接,则为真
-r filename 如果 filename可读,则为真
-w filename 如果 filename可写,则为真
-x filename 如果 filename可执行,则为真
-s filename 如果文件长度不为0,则为真
-h filename 如果文件是软链接,则为真
filename1 -nt filename2 如果 filename1比 filename2新,则为真。
filename1 -ot filename2 如果 filename1比 filename2旧,则为真。
-d filename 如果 filename为目录,则为真
-f filename 如果 filename为常规文件,则为真
-L filename 如果 filename为符号链接,则为真
-r filename 如果 filename可读,则为真
-w filename 如果 filename可写,则为真
-x filename 如果 filename可执行,则为真
-s filename 如果文件长度不为0,则为真
-h filename 如果文件是软链接,则为真
filename1 -nt filename2 如果 filename1比 filename2新,则为真。
filename1 -ot filename2 如果 filename1比 filename2旧,则为真。
获取随机数
1 #!/bin/bash
2 MAXCOUNT=10
3 count=1
4 echo
5 echo "$MAXCOUNT random numbers:"
6 echo "------------------------"
7 while [ "$count" -le $MAXCOUNT ]
8 do
9 number=$RANDOM
10 echo $number
11 let "count+=1"
12 done
13 echo "------------------------"
pushd 目录
pushd后面如果直接跟目录使用,会切换到该目录并且将该目录置于目录栈的栈顶。(时时刻刻都要记住,目录栈的栈顶永远存放的是当前目录。如果当前目录发生变化,那么目录栈的栈顶元素肯定也变了;反过来,如果栈顶元素发生变化,那么当前目录肯定也变了。)
popd不带参数
popd不带任何参数执行的效果,就是将目录栈中的栈顶元素出栈。这时,栈顶元素发生变化,自然当前目录也会发生相应的切换(接上文的执行现场)
1 #!/bin/bash
2 dir1=/home/ngvlcs/wuz/wu1
3 dir2=/home/ngvlcs/wuz/wu2
4
5 pushd $dir1
6 echo "now in dir `pwd`"
7
8 pushd $dir2
9 echo "now in dir `pwd`"
10
11 echo "the top entry in the DIRSTACK array is $DIRSTACK"
12 popd
13 echo "now back in dir `pwd`"
14
15 popd
16 echo "now back in original dir `pwd`"
17
18 exit 0
19
1 #!/bin/bash
2 #exec echo "Existing \"$0\""
3 #echo "this will never echo"
4 #exit 99
5 #echo $?
6
7 echo
8 echo "1"
9 echo "2"
10 echo "=================================="
11 echo $0
12 echo `basename $0`
13 #sleep 1
14 #exec $0
15 #echo "3"
16 exit 0
17
运行结果: