1. 程式人生 > >Linux Shell 程式設計 迴圈控制 條件控制 輸入引數等

Linux Shell 程式設計 迴圈控制 條件控制 輸入引數等

1. 傳入指令碼引數

$# 是傳給指令碼的引數個數 

$0 是指令碼本身的名字 

$1是傳遞給該shell指令碼的第一個引數 

$2是傳遞給該shell指令碼的第二個引數 

[email protected] 是傳給指令碼的所有引數的列表

2. 建立一個新檔案

cat>>filename

xxxxxxx

 Ctrl-D 儲存並結束編輯

3. 列印命令列

echo “Hello World”

echo  $1 

4. 獲取時間

curTime=$(date "+%H%M%S")  #將時間  時 分 秒 賦給變數curTime,注意 date 和 雙引號之間有空格 

curDate=$(date "+%Y%m%d")   #將時間  年 月 日 賦給變數curDate

myDate=$(date "+%Y-%m-%d")

echo $myDate

5. 迴圈語句

對檔案的操作
files=`ls *.txt` 
for file in $files  
do  
    echo "File name:$file";  
    cat $file  
done
用數字控制迴圈
i=1;  
for((i=1;i<=100;i++))  
do  
  let "tmp=$i*$i";  
  let "sum+=$tmp";  
done  
echo "Result:$sum";
參考:http://blog.csdn.net/yangguangqizhi/article/details/46462537
6. 條件控制
運算子 描述 示例

  檔案比較運算子

  -e filename 如果 filename 存在,則為真 [ -e /var/log/syslog ]

  -d filename 如果 filename 為目錄,則為真 [ -d /tmp/mydir ]

  -f filename 如果 filename 為常規檔案,則為真 [ -f /usr/bin/grep ]

  -L filename 如果 filename 為符號連結,則為真 [ -L /usr/bin/grep ]

  -r filename 如果 filename 可讀,則為真 [ -r /var/log/syslog ]

  -w filename 如果 filename 可寫,則為真 [ -w /var/mytmp.txt ]

  -x filename 如果 filename 可執行,則為真 [ -L /usr/bin/grep ]

  filename1 -nt filename2 如果 filename1 比 filename2 新,則為真 [ /tmp/install/etc/services -nt /etc/services ]

  filename1 -ot filename2 如果 filename1 比 filename2 舊,則為真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]

  字串比較運算子 (請注意引號的使用,這是防止空格擾亂程式碼的好方法) 

  -z string 如果 string 長度為零,則為真 [ -z $myvar ]

  -n string 如果 string 長度非零,則為真 [ -n $myvar ]

  string1 = string2 如果 string1 與 string2 相同,則為真 [ $myvar = one two three ]

  string1 != string2 如果 string1 與 string2 不同,則為真 [ $myvar != one two three ]

  算術比較運算子

  num1 -eq num2 等於 [ 3 -eq $mynum ]

  num1 -ne num2 不等於 [ 3 -ne $mynum ]

  num1 -lt num2 小於 [ 3 -lt $mynum ]

  num1 -le num2 小於或等於 [ 3 -le $mynum ]

  num1 -gt num2 大於 [ 3 -gt $mynum ]

  num1 -ge num2 大於或等於 [ 3 -ge $mynum ]

參看 https://www.cnblogs.com/aoyihuashao/archive/2012/09/18/2690645.html
7.  while,case 運用
參看 https://www.cnblogs.com/intsmaze/p/6675350.html