linux指令碼輸出兩個數字,按照數字從小到大排序,比如輸入 31,12,輸出結果就是

2021-08-01 07:28:20 字數 3197 閱讀 4777

1樓:匿名使用者

[root@localhost ~]# a=""; \> b=""; \

> tmp=""; \

> read x; \

> a=$; \

> b=$; \

> if [ $a > $b ] ; then \> tmp=$a; \

> a=$b; \

> b=$tmp; \

> fi; \

> echo $a $b

34,12

12 34

[root@localhost ~]#

可以看出我是直接把**粘到終端上執行的,所以每一行後都有分號作語句分隔用,然後又用\斷行,其實上面這麼多行,是在同一行內。

每行前的 > 是bash shell自動給出,因為它知道**還沒輸完。你只要把下面這樣的**複製上去也就可以:

a=""; \

b=""; \

tmp=""; \

read x; \

a=$; \

b=$; \

if [ $a > $b ] ; then \tmp=$a; \

a=$b; \

b=$tmp; \

fi; \

echo $a $b

用history命令可以查詢到我確實就相當於輸入在同一行:

1022 a=""; b=""; tmp=""; read x; a=$; b=$; if [ $a > $b ] ; then tmp=$a; a=$b; b=$tmp; fi; echo $a $b

1023 history

[root@localhost ~]#

2樓:匿名使用者

[root@bogon ~]# echo 31 12 12 2 1 2 | xargs -n1 | sort -n | sed ':a;n;s/\n/,/;ba'

1,2,2,12,12,31

3樓:

先將逗號都替換為換行符,然後用 sort 排序(加 -g 選項),最後再把換行符還原為逗號,這樣就將排序後的結果顯示在一行上。

# echo "31,12" | sed 's/,/\n/g' | sort -g | sed ':a;n;s/\n/,/;ba'

12,31

其實一樓的也是排序,而且是著名的氣泡排序演算法,其思想就是不斷地從前往後(或從後往前)兩兩比較和交換(就是你所說的顛倒順序)。

人家是比較大小後才顛倒順序的,不是上來就直接顛倒一下 ^_^

輸入4個數字,要求按從小到大順序輸出

4樓:子爵先生

#include

using namespace std;

求個shell指令碼 使用者輸入一個數字,判斷該數字大於、小於一個數字,如100。等於時退出該迴圈

5樓:匿名使用者

[lotto@logging ~]$ cat test.sh#!/bin/sh

i=0while [ 1 -gt 0 ]

doecho -e "請輸入數字:"

read num

if [ $num -gt 100 ]

then

echo "大於100"

elif [ $num -lt 100 ]then

echo "小於100"

else

echo "等於100,退出程式"

break

fii=`expr $i + 1`

done

[lotto@logging ~]$ ./test.sh請輸入數字:

4小於100

請輸入數字:

105大於100

請輸入數字:

100等於100,退出程式

[lotto@logging ~]$

6樓:小米飛貓

#!/bin/bash

while true;do

read -p "enter an integer:" numif [ $num -eq 100 ];thenbreak

fidone

exit 0

#因為你沒說大於,小於後做什麼,只說了一個等於100時退出。

#那我只能認為不管我輸入什麼數,還是重複輸入,直到我輸入100時退出。

linux中編寫shell指令碼,輸出如下序列:1,3,2,4,3,5,4,6,···100 。[附圖]

7樓:匿名使用者

指令碼至少有如下錯抄誤:

改為$或$j,是要取值的

bai啊

expr語句du外面是反引號(鍵盤上esc下面那個鍵)zhi而不是單引號,表示執行dao命令而不是單純一個字串,expr後面的運算子左右兩側要有空格。

if跟[之間是要有空格的,if判斷表示式比較符兩側也要有空格,數字跟 [ ]之間要有空格。

我修正了,自己執行成功生成你要的數列了。你自己對比下吧:

#!/bin/bash

#script name prg8.sh

clear

i=1for ((j=1;j<=98;j++))doecho -n "$j,`expr $j + 2`,"

if [ $i -eq 10 ]

then

echo ""

i=1else

i=$((i+1))

fidone

echo ""

註釋裡已經說了,script name prg8.sh,指令碼名叫prg8.sh,當然,叫什麼名字是你的自由。

8樓:匿名使用者

孩子指令碼語言是不需要編譯的,sh 12.c就可以了,還有shell指令碼一般以sh為副檔名,不要用c,也可以chmod +x 12.c 加可執行許可權,./12.c來執行

9樓:匿名使用者

你只是想輸出1~100這100個數字??

直接用迴圈就行了啊

**#!/bin/bash

for (( i=1; i<=100 ; i=i+1 ))doecho "$i"

done

————————————————————

看錯題目了,當我沒答

車牌號,前兩個數字相同,後兩個數字相同,這數恰好是完

7744,設該數為aabb,可以看出該數有一個因子11。該數除以11後得a0b,並且a0b也包含因子11,並且a0b除以11後的得數一定是一個完全平方數,我們就看從1 9的完全平方數中只有8的完全平方數64乘以11得704,形式符合題目要求。所以得到該完全平方數是7744 88 88 用c 程式設計...

(1)有1,2,311,12,數字,請在每兩個數字之間添上或使它們的和為

不能 因為只來有總數為偶數是才自可以進bai行加減 然後等於零 du如 1 取他們中間的兩個數即zhi。6 7 12 1 5 8 11 2 4 9 10 3就可以推出1 2 3 4 5 6 7 8 9 10 11 12 0 所以 2 也是dao如此 3 就不行了!望採納啊!1 1 2 3 4 5 6...

兩個不同顏色猜數字,兩個不同顏色猜三個數字

兩個不同顏色猜三個數字 答案 256。五顏六色 w y n li s 解釋 形容色彩複雜或花樣繁多。引伸為各色各樣。出處 清 李汝珍 鏡花緣 第十四回 惟各人所登之雲,五顏六色,其形不一。結構 聯合式。用法 多用來形容鮮花 商品 服裝 景物等的花色繁多。一般作謂語 定語。正音 色 不能讀作 sh i...