-
shell 是乙個命令處理器,它讀入並解釋您鍵入的命令。 除了作為命令中斷器之外,shell 還是一種程式語言。 您可以編寫可由 shell 解釋的程式(稱為源程式),其中可以包含 shell 程式設計命令等。
除了解釋命令外,shell 還有其他工作,還可以進行配置和程式設計。 shell 有自己的語言,允許使用者編寫程式並以複雜的方式執行它們。 shell程式語言具有許多常用程式語言的特點,例如:
迴圈和控制結構等 使用者可以生成與其他應用程式一樣複雜的 shell 程式。
附加說明:簡單地說:shell 是乙個互動式命令直譯器。
shell 獨立於作業系統,這種設計讓使用者可以靈活地選擇適合自己的命令,並且可以在命令列上鍵入命令,這些命令由 shell 解釋,然後傳輸到作業系統(核心)執行。
-
問題 1:!/bin/bash
要比較的資料陣列。
4 array=(12 3 56 14 59 46 25 14 78 32)
6 max=$
7 for ((i=0; i<10; i++ do
8 if ((array[i] >max ))then
9 ┊ max=$;
10 fi11 done
最大輸出。
14 echo $max
問題 2:!/bin/bash
使用時需要新增引數。
4 if [ z $1 ];then
5 echo -e "如果想用錯,請新增乙個引數,如:t/test 10"
6 exit -17 fi
9 sum=0
10 for ((i=1; i<=$1; i++ do
11 sum=$[$sum + i]
12 done
13 echo $sum
問題 3:!/bin/bash
檢查引數數量是否正確。
4 if ((# != 5 ))then
5 echo -e "輸入引數錯誤使用說明:t/test file1 file2 file3 file4 dir"
6 echo -e "t 或/test dir file1 file2 file3 file4"
7 exit -1 8 fi
檢查第乙個引數是否為目錄。
11 if [ d $1 ];then
12 mv $2 $3 $4 $5 $1
13 elif [ d $5 ];then
14 mv $1 $2 $3 $4 $5
15 else
16 echo "輸入引數不正確"17 fi
問題 4:!/bin/bash
判斷引數。
4 if [ z $1 ];then
5 echo "引數輸入錯誤示例:t/test 10"
6 exit -17 fi
請注意,階乘的初始值應賦值為 1
10 factorial=1
12 for ((i=1; i<=$1; i++ do
13 factorial=$[factorial * i]
14 done
16 echo $factorial
-
這並不是說它非常困難,這是乙個很好的練習題,我建議你嘗試一下。
-
奇怪的報價
單引號中的所有內容都按原樣輸出,雙引號中可以有轉義和變數。
提取字串時的最後一位數字是字串長度,而不是最後乙個字元位置
從字串的第 2 個字元開始截斷 4 個字元(第乙個字元位置為 0)並輸出 unoo
令人困惑的運算子
不尋常的陣列
只有一維陣列,陣列的內容用空格分隔,而不是逗號。
讀取整個陣列時,需要新增 [@]。
不能從第 n 個位置讀取到第 m 個位置的內容,也不能使用 [n:m] 或 [n,m]。
人物的位置一舉
左邊的第乙個字元用0表示,右邊的第乙個字元用0-1表示(直接用-1不是很好嗎)。
計算 expr 時,只需在 * 之前新增轉義字元
轉義字元也應新增到括號前。
條件表達也離不開空間的戲劇性
價值的比較有乙個奧秘
[ expression1 op expression2 ],op 可以是-gt、-lt、-ge、-le、-eq、-ne
((expression1 op expression2)),op 可以是
字串是很多東西
[ string1 op string2 ],op 作為
布林運算也需要以不同的方式進行
邏輯運算子也不是素食主義者
雙括號太強大了。
兩者都輸出 hi,但後者必須 [.]
確定字串是否為 0 或不使用 -n
n 為 true 表示字串長度不是 0,但是這個引號怎麼說呢?
條件語句應以 fi 結尾
if [ condition ];then command; elif command; fi
for [ condition ];do command; command; done
while [condition]; do command; command; done
until [condition]; do command; done
-
找到一本基本的 Unix 或 Linux 程式設計書籍,其中將介紹不同的 shell 程式設計。
-
我從未聽說過 shell 程式設計,但 shell 函式很常見。
然後選擇 4 個數字作為隨機數陣列。
1) 定義乙個初始化為 1-122 的 12 個整數的陣列) 定義乙個 40*4 的二維陣列 int a[40][4]; >>>More
載入 C 時出錯:*找不到指定的模組。
出現這種提示:一般在解除安裝軟體或防毒軟體後; 不會解除安裝或刪除乾淨的軟體和檔案殘留。 建議你**Windows清理助手,讓它幫你清理這些軟體和檔案殘留(****傳給你)。 >>>More