我需要编写一个bash脚本,按排序顺序打印出命令行参数,每行一个.
我写了这个脚本,它工作正常,但还有其他方法吗?特别是没有将其输出到文件和排序.
#!/bin/bash
for var in $*
do
echo $var >> file
done
sort file
rm file
Run Code Online (Sandbox Code Playgroud)
测试运行程序:
$ script hello goodbye zzz aa
aa
goodbye
hello
zzz
Run Code Online (Sandbox Code Playgroud)
#!/bin/bash
for var in "$@"; do
echo "$var"
done | sort
Run Code Online (Sandbox Code Playgroud)
您希望$@
在引号(而不是$*
)中使用以容纳带空格的参数,例如
script hello "goodbye, cruel world"
Run Code Online (Sandbox Code Playgroud)
管道摆脱了临时文件的需要.