我的问题是我如何可以通过命令行参数迭代,如果允许的参数个数是一个变量:在命令行参数中作为参数排序fn中的Bash Shell脚本中的整数?
例如:
./sort.sh n <n integers to sort>
./sort.sh 5 3 4 2 1 5
我尝试迭代它通过一个for循环,并把它一个.txt文件,用于排序功能,但由于定界符(比如说i)只接受常量,所以会出现问题。
谢谢。 :D
我的问题是我如何可以通过命令行参数迭代,如果允许的参数个数是一个变量:在命令行参数中作为参数排序fn中的Bash Shell脚本中的整数?
例如:
./sort.sh n <n integers to sort>
./sort.sh 5 3 4 2 1 5
我尝试迭代它通过一个for循环,并把它一个.txt文件,用于排序功能,但由于定界符(比如说i)只接受常量,所以会出现问题。
谢谢。 :D
您不需要参数的数量。你可以在脚本中使用$#
。
而且你不需要循环参数。只需将它们每行传递给sort -n
即可。
类似于:printf "%s\n" [email protected] | sort -n
。
echo 2 4 3 1 5 | fmt -s -w 1 | sort -n
是什么?
排序的整数参数数量是可变的。可以说,10个整数。 :D我需要以某种方式解析它。我尝试了$ i并遍历我的,但没有奏效。 – Joshua
但是,它不是多余的,难道你不能跳过它吗?或者,你当然可以'输出-n $ n'的输出。或者你可以为((i = 0; i <$ n; ++ i))任何你想要的。 –
你好,以下是不考虑$ 1或者决定输入大小的第一个参数的答案。如何根据第一个参数对以下参数进行排序? – ThisGuy