$0、$1、$2 、${}的含义:
- $0 就是你写的shell脚本本身的名字
- $1 是你给你写的shell脚本传的第一个参数
- $2 是你给你写的shell脚本传的第二个参数
- 例如执行本下面sh:./ipconfig.sh 192.168.2.133
- $0:ipconfig.sh
- $1:192.168.2.133
- ${TARGET}就是取变量TARGET的值,也就是192.168.2.112
#ipconfig.sh
TARGET=192.168.2.112
if [ $1 ]; then
${TARGET}=$1
else
echo "specify host IP pleasae, if not, 192.168.2.112 by default."
popd和pushd:
- 进入一个目录cd /home/temp
- 想要进入的另一个目录push ~/abdcd/work
- 两个目录直接频繁切换popd
root@cc-VirtualBox:/work/ckernel/linux-toradex# pushd /home/cc/temp
/home/cc/temp /work/ckernel/linux-toradex
root@cc-VirtualBox:/home/cc/temp# popd
/work/ckernel/linux-toradex
root@cc-VirtualBox:/work/ckernel/linux-toradex#
" "和‘ ’
- “ ”获取变量的值:
[root@linux ~]# name=linux [root@linux ~]# echo $name linux [root@linux ~]# sayhello=”Hello $name” [root@linux ~]# echo $sayhello Hello linux
-
' '只能表示一般字符,没有特殊符号:
[root@linux ~]# name=linux [root@linux ~]# echo $name linux [root@linux ~]# sayhello='Hello $name' [root@linux ~]# echo $sayhello Hello $name
'$sayhello' 与 “\$sayhello”是相同的
> 和 >>
- >表示新建一个文件
- >>表示把内容追加过去
echo "ARCH = ARM" > config.mk
echo "CPU = A7" >>config.mk
root@cc-VirtualBox:/home/cc/code# cat config.mk
ARCH = ARM
CPU = A7