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 下的结果与上面的结论一致

posted @ 2022-09-04 12:04  躣佾  阅读(35)  评论(0编辑  收藏  举报