首先,我在bash脚本编写方面相当新,到目前为止基本上只有1天知识
我试图对从bash传递的参数进行排序,是的,我设法做到了但是当我尝试显示我的参数后,参数没有排序,为什么?
printf "%s\n" $@ | sort -n
这将对数字进行排序,然后显示它,但可以保存它们 相应数字到他们的索引?
我的意思是./task.sh 9 0 5
上面的代码会显示0 5 9
,但如果我在此之后尝试显示$ 1 $ 2 $ 3
我会得到9 0 5
答案 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