2008年5月27日 星期二

Linux Programming (1) Shell

  1. Shell is a piece of software that provides an interface for users.
  2. Executable File VS. Built-in Commands
  3. #echo $SHELL //顯示目前使用中的SHELL
  4. #chsh -s /bin/tcsh //改變SHELL
  5. A shell script will be writen by a text editor.
  6. Begin with " #!/bin/bash ".
  7. " # " 註解!! 只能寫在每一行的 head
  8. echo -n " my name is " // " -n "means that don't the newline
    whoami
  9. 執行 shell script 可以增加權限以後就不需加 sh 去執行
    #chmod +x hello.sh 或是 #chmod hello.sh 777
    #hello.sh (就可以直接執行)
  10. 若是不行,需要增加執行目錄=>編輯 .bash_pprofile 加入 PATH= . : $PATH
  11. Shell變數 (1) 預定變數(Predefined variables) local variable (2) 環境變數(Environment variables) Global variable , ex: PATH、HOME
  12. 設定變數,a=3,等號前後不能有空格。
  13. #longpath=/usr/home/ee/99/kph
    #cd $longpath (使用$符號取得設定的變數)
  14. set 可以查看所有已設定的變數
    #set grep longpath
  15. unset varName 移除設定的變數
  16. 變數輸出 echo 相當於printf() ; 變數輸入 read 相當於 scanf() ;
    #echo test (直接顯示"test")
    #echo $test (顯示 test變數內容)
    #read test (讀進來的取名test)
  17. 宣告環境變數:
    export變數名稱=內容 =>Global變數
    變數名稱=內容=>Local變數
    查看 set (宣告local) #set test=abc (宣告global) #export test=abc
    移除 unset (宣告local) #unset test (宣告global) #export -n test
  18. 引號:單引號:(" ' " ,所夾的所有內容保持不變)
    #echo 'pig cat $dog'
    #pig cat $dog (裡面所有符號皆無效)
  19. 引號:雙引號:(" " " ,所夾的內容保持不變)
    有三種例外(1)變數 $var ($ 跳脫字元) (2)反斜線 \ (3)反單引號:`
    (1)變數 $var ($ 跳脫字元)
    #color=blue
    #echo $color ==>#blue
    #echo '$color' ==>#$color
    #echo "$color" ==>#blue
    (2)反斜線 \ (其後的字元的特殊意義會被取消)
    #num=10
    #echo "#num" ===>#10
    #echo "\$num" ===>#$num
    #echo "\"$num\"" ===>#"10"
    (3)反單引號:` (不同於單引號 ' ,所夾內容會先執行)
    #echo "Your....is `pwd`"
    #Your....is /home/jhhsu
  20. ..
  21. .待續.......

沒有留言: