bash 中 echo & printf
首先列一下今天收获的消息
sh是:
- Bourne Shell(/usr/bin/sh或/bin/sh)
bash是:
- Bourne Again Shell(/bin/bash)
printf 后面跟的两个连续字符串参数先结合,最后一起被printf执行
#! /bin/sh printf "$(gettext "Usage: %s [OPTION]\n")" $(basename $0)
上面代码执行结果就是这样的,其中shifttest 是我的程序名
echo 后面的双引号使用与否效果相同
上代码:
1 #! /bin/bash 2 3 if [ $# != 1 ]; then 4 printf "Usage: $0 USERNAME"; echo 5 fi 6 7 if grep $1 /etc/passwd; then 8 echo "The bash files for user $1 are:" 9 # echo The bash files for user $1 are: 10 ls -al /home/$1/ 11 fi
使用该代码在bash 下的结果与上面的结论一致