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
————————————————————
看錯題目了,當我沒答
4位數字中有兩個數字相同另兩個數字不相同,共有多少種可能 首數可為
c 1,10 c 2,9 a 4,4 a 2,2 4320按你說的情況的話兩兩相同應該是c 2,10 a 4,4 a 2,2 a 2,2 270。或者c 2,10 a 2,3 270。看你怎麼理解了。不是你說的540種.加起來就是10000了 c 4,2 c 10,3 720種 解釋 4位中任選兩位...
VB兩個數字比較大小,vb比較兩個數大小
先不管你的txt3是怎麼來的,單就程式而言,txt1比txt2小,所以你的if條件判斷後始終會把txt1的值2傳遞給txt3,於是txt3值一直都是2.txt1 2 txt2 5 這說明你這兩個數是固定的2 5 所以永遠是txt1 txt2 所以永遠是txt3 txt1 2 你的txt3在哪兒定義的...
excel兩個單元格內兩個數字的運算
你這樣用excel是自己給自己找麻煩,估計是初學者吧,excel中一個單元格是一個最基本的單元,也應該只放一個資料。你的描述有問題,excel中豎的叫列,分別為a b c d等,在 的最上面有列標 橫的叫行,分別為1 2 3 4等,在 的最左邊有行號。excel用列標和行號的交叉點來表示一個單元格的...