当我想-sort在它之后运行我的参数时,我需要对我提到的所有其他参数进行排序.例
. MyScript.sh -sort Tree Apple Boolean
输出应该是
Apple Boolean Tree
我试图制作一个数组并运行所有参数,但这没有用
Array=()
while (( "$#" ))
do
Array += "$1"
shift
done
Run Code Online (Sandbox Code Playgroud)
这也有我无法忽视的问题-sort.
小智 7
试试这个脚本:
#!/bin/bash
if [ "$1" = "-sort" ]; then
shift;
echo "$@" | tr ' ' '\n' | sort | tr '\n' ' ';
echo;
else
echo "$@";
fi
Run Code Online (Sandbox Code Playgroud)
说明:第一个if检查第一个参数是否为-sort.如果是,它会移动参数,所以-sort消失但其他参数仍然存在.然后运行参数tr,将空格分隔列表转换为换行符(sort需要),然后管道通过sort其最终打印排序列表(转换回空格分隔格式).如果第一个参数不是-sort,那么它只是按原样打印列表.
| 归档时间: |
|
| 查看次数: |
1116 次 |
| 最近记录: |