bash 脚本将参数回显到单独的行中



我必须编写此脚本来分隔在命令行中输入的参数。 这是到目前为止的脚本:

# template.sh
function usage
{
echo "usage: $0 arguments ..."
if [ $# -eq 1 ]
then echo "ERROR: $1"
fi
}
# Script starts after this line.
case $1 in
*?)echo "My Name"
date
echo
echo $*
echo "*****"
;;
*)usage
;;
esac

我需要得到的是当我使用脚本时,它需要看起来像:

$ ./template.sh peter frederick chang
My Name
Sun May 17 11:28:46 PDT 2015
peter
*****
frederick
*****
chang
*****

但相反,我得到的是:

$ ./template.sh peter frederick chang
My Name
Sun May 17 11:28:46 PDT 2015
peter frederick chang
*****

使用printf而不是像这样echo"$@"在不同行上打印参数:

# Script starts after this line.
case $1 in
*?)echo "My Name"
date
echo
printf "%sn*****n" "$@"
;;
*)usage
;;
esac

这将打印:

My Name
Sun May 17 06:50:26 EDT 2015
peter
*****
frederick
*****
chang
*****

相关内容

  • 没有找到相关文章

最新更新