Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash脚本将参数回送到单独的行中_Bash_Unix_Scripting_Arguments_Lines - Fatal编程技术网

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

bash脚本将参数回送到单独的行中,bash,unix,scripting,arguments,lines,Bash,Unix,Scripting,Arguments,Lines,我必须将此脚本编写为在命令行中输入的独立参数。 以下是迄今为止的脚本: # 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 $*

我必须将此脚本编写为在命令行中输入的独立参数。 以下是迄今为止的脚本:

# 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 "%s\n*****\n" "$@"
     ;;
  *)usage
     ;;
esac
这将打印:

My Name
Sun May 17 06:50:26 EDT 2015

peter
*****
frederick
*****
chang
*****