日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux-shell

發布時間:2025/3/8 linux 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux-shell 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 一、變量
    • 二、菜單
    • 三、算數運算
      • 3.1 while加法
      • 3.2 for加法
      • 3.3 整數加減乘除
      • 3.3 浮點數加減乘除
    • 排序
    • 四、循環

一、變量

調試下列 shell 程序,寫出變量$#,$0,$1,$2,$3, $@的含義。

echo “所有參數: $@” echo “前三個參數:$1 $2 $3” shift echo “程序名:$0echo “所有參數: $@” echo “前三個參數:$1 $2 $3” shift 3 echo “程序名:$0echo “所有參數: $@” echo “前三個參數:$1 $2 $3exit 0

$#:傳給腳本的參數個數
$0:腳本名稱
$1:傳給腳本的第1個參數
$2: 傳給腳本的第2個參數.
$3: 傳給腳本的第3個參數
$@:參數列表

修改程序,程序運行時從鍵盤輸入文件名,判斷文件是否存在,如果存在,顯示文件 內容

echo "input:" read DORF if [ -d $DORF ] then ls $DORF elif [ -f $DORF ] then cat $DORF else echo "input error" fi

二、菜單

調度下列程序,使用 shell 編寫一個菜單,分別實現列出以下內容:(1)目錄內容、(2)切換目錄、(3)創建文件、(4)編輯文件、(5)刪除文件的功能。在此例 中將用到循環語句 until、分支語句 case、輸入輸出語句 read 和 echo。

while true doecho "(1)List you selected directory"echo "(2)Change to you selected directory" echo "(3)Creat a new file"echo "(4)Edit you selected file"echo "(5)Remove you selected file" echo "(6)Exit Menu"read inputif test $input = 6; then exit 0ficase $input in1) ls;;2) echo -n "Enter target directory:" read dircd $dir;;3) echo -n "Enter a file name:" read filetouch $file;;4) echo -n "Enter a file name:" read filevi $file;; 5) echo -n "Enter a file name:"read filerm $file;;*) echo "Please selected 1\2\3\4\5\6 " ;; esac done

修改以上程序,用菜單形式完成算術四則混合運算。

while true doecho "(1)+"echo "(2)-" echo "(3)*"echo "(4)/"echo "(5)Exit Menu"read inputif test $input = 5; then exit 0ficase $input in1) total=0read aread blet total=`expr $a+$b` echo "a+b=$total";;2) total=0read aread b let total=`expr $a-$b`echo "a-b=$total";;3) total=0read aread blet total=`expr $a*$b`echo "a*b=$total";;4) total=0read aread blet total=`expr $a/$b`echo "a/b=$total";; *) echo "Please selected 1\2\3\4\5\6 " ;; esac done

三、算數運算

3.1 while加法

(1) 用 while 循環求 1 到 100 的和。

total=0 num=0 while((num<=100)); dototal=`expr $total + $num` ((num+=1)) done echo "The result is $total"

3.2 for加法

1.用 for 語句完成 1+1/2+1/3+1/4+….+1/n。

read n temp=0.000 sum=0.000 for((i=1; i<=$n; i++));doj=$iif [ $j != 0 ]thentemp=`echo "scale=3;1.000/$j" | bc`sum=`echo "scale=3;$sum+$temp" | bc`fi done echo "sum=$sum"

2.編寫一個shell腳本,包含兩個數組array1和array2,分別初始化為{1,2,3,4,5}和{1,4,9,16,25}。腳本生成并顯示一個數組,其中的元素是這兩個數組中對應元素的和,數組中第一個元素是1+1=2,第二個元素2+4=6,依此類推。

declare -a array3=() declare -a array1=(1 2 3 4 5) declare -a array2=(1 4 9 16 25) for((i=0;i<=4;i++)); do array3[i]=$((${array1[i]}+${array2[i]})) done echo ${array3[*]}

3.3 整數加減乘除

用菜單形式完成算術四則混合運算。

read a read b let t=`expr $a+$b` let t2=`expr $a-$b` let t3=`expr $a*$b` let t4=`expr $a/$b` echo $t $t2 $t3 $t4

注意:字符串拼接or算術運算 let

3.3 浮點數加減乘除

read a read b total=$(printf "%0.2f" `echo "scale=2; $a+$b"|bc`) total2=$(printf "%0.2f" `echo "scale=2; $a-$b"|bc`) total3=$(printf "%0.2f" `echo "scale=2; $a*$b"|bc`) total4=$(printf "%0.2f" `echo "scale=2; $a/$b"|bc`) echo $total $total2 $total3 $total4

排序

編寫shell腳本,完成從鍵盤輸入三個數,腳本對這三個數進行升序排序,并打印輸出。

read -ep "input:" num1 read -ep "input:" num2 read -ep "input:" num3 echo -e "$num1\n$num2\n$num3"|sort -nr

四、循環

編寫一個bash腳本程序,用for循環實現將當前目錄下的所有.c文件移到指定的目錄下,最后在顯示器上顯示指定目錄下的文件和目錄。

echo -n "input:" read dir for i in `ls | grep -E "*\.c"` do mv $i $dir done ls -IS $dir

編寫shell腳本,通過循環的形式在終端上打印出等腰三角形。

for ((i = 1; i < 10; i++)) dofor ((j = 10; j > i; j--))do echo -n " ";donefor ((m = 1; m <= i; m++))do echo -n "* "doneecho "" done

編寫shell腳本,通過循環的形式在終端上打印出等腰梯形。

for ((a=1;a<=9;a++)) do for ((b=9;b>=$a;b--))doecho -n " "donefor ((c=1;c<=$a;c++))doecho -n "*"donefor ((d=2;d<=$a;d++))doecho -n "*"donefor ((e=1;e<=9;e++))doecho -n "*"done echo "" done

總結

以上是生活随笔為你收集整理的Linux-shell的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。