我正在嘗試在BASH中編寫一個腳本,該腳本將從用戶獲取1到5個命令行參數,並以相反的數字順序將其報告回標準輸出。我知道的唯一一條與此類似的命令是sort命令,但這隻適用於文件。是否有類似的命令排序命令行參數?這是我到目前爲止。是否有一個命令可用於命令行參數,如sort命令對文件的操作?
#!/bin/bash
if [ $# -lt 1 ] || [ $# -gt 5 ];
then echo "Incorrect number of arguments!"
else
sorted=sort -rn $*
echo "SORTED: $sorted"
fi
+1。像這樣使用printf是最安全,最簡潔的方式來輸出每行一行的列表。爲了將它們作爲單行輸出,我會試圖忽略我自己的讚美,並且只是'echo $ sorted'(不帶任何引號) - 或'sorted =($(print ... | sort)); printf「%s」「$ {sorted [@]}」' –
謝謝!或者:'sorted =($(printf'%s \ n'「$ @」| sort -nr)); printf'%s \ n'「$ {sorted [*]}」'。 –