在bashshell脚本中使用命令行参数作为sortfn的参数对整数进行排序?

在bashshell脚本中使用命令行参数作为sortfn的参数对整数进行排序?,bash,shell,sorting,command-line,command-line-arguments,Bash,Shell,Sorting,Command Line,Command Line Arguments,我的问题是,如果允许的参数数是一个变量,我如何遍历命令行参数: 例如: ./sort.sh n <n integers to sort> ./sort.sh 5 3 4 2 1 5 /sort.sh n /分类:sh 5 3 4 2 1 5 我尝试通过for循环对其进行迭代,并将其放入sort函数的.txt文件中,但这会出现问题,因为分隔符(比如I)只接受常量 谢谢D echo 2 4 3 1 5 | fmt -s -w 1 | sort -n 像这样?您不需要参数的数量。您可

我的问题是,如果允许的参数数是一个变量,我如何遍历命令行参数:

例如:

./sort.sh n <n integers to sort>
./sort.sh 5 3 4 2 1 5
/sort.sh n
/分类:sh 5 3 4 2 1 5
我尝试通过for循环对其进行迭代,并将其放入sort函数的.txt文件中,但这会出现问题,因为分隔符(比如I)只接受常量

谢谢D

echo 2 4 3 1 5 | fmt -s -w 1 | sort -n

像这样?

您不需要参数的数量。您可以使用
$#
从脚本中获取它

你不需要在参数中循环。只需每行将它们传递给
sort-n


类似于:
printf“%s\n”$@| sort-n

要排序的整数参数的数量是可变的。可以说是10个整数我需要以某种方式解析它。我尝试了$I并遍历了I,但没有成功。但是这不是多余的吗,你不能跳过它吗?当然,您也可以
head-n$n
fmt输出。或者,您可以
为(我想我试试这个D@mouviciel,根据决定输入大小的第一个参数对以下参数进行排序怎么样?@thisguie-如果第一个参数与以下参数的数量不一致怎么办?嗨,如果你不想要下一行和一个空格怎么办?你如何实现打印f“%s\n”$@| sort-n?尝试添加空格,但没有成功work@WonderingCoder,您需要在整个命令的结果中用空格替换换行符
printf“%s\n”$@| sort-n
。一种方法是让
echo
执行此任务:
echo$(printf“%s\n”$@| sort-n)
。您好,下面是忽略$1或决定输入大小的第一个参数的答案。如何根据第一个参数对以下参数进行排序?