我们可以对参数进行排序,然后相应地保存到索引中吗?

时间:2016-04-29 20:29:32

标签: bash sorting scripting arguments

首先,我在bash脚本编写方面相当新,到目前为止基本上只有1天知识

我试图对从bash传递的参数进行排序,是的,我设法做到了但是当我尝试显示我的参数后,参数没有排序,为什么?

printf "%s\n" $@ | sort -n

这将对数字进行排序,然后显示它,但可以保存它们    相应数字到他们的索引

我的意思是./task.sh 9 0 5 上面的代码会显示0 5 9,但如果我在此之后尝试显示$ 1 $ 2 $ 3 我会得到9 0 5

1 个答案:

答案 0 :(得分:0)

试试这个:

#!/bin/bash

# save stdout of your pipe in variable $foo
foo=$(printf "%s\n" $@ | sort -n)

# assign arguments after -- to the positional parameters
set -- $foo

echo $1 $2 $3

输出:

0 5 9