1.shell程式設計
程式語言
靜態語言:編譯型語言 強型別(變數在使用前,必須事先宣告) 事先轉換成可執行語言
動態語言:解釋型語言 弱型別(變數用時宣告,拿來直接用,甚至不區分資料型別,一般預設都為字串) on the fly 邊解釋邊執行 perl shell python(物件導向) php 直譯器通常都是靜態語言開發的
變數:記憶體空間,命名
變數型別:實現定義資料的儲存格式和儲存長度
字元數值整型
浮點型 11.12 (怎麼存:分開存的,11存一下,12存一下,.的位置存一下)
2013/10/10 64bit(字元)
緩衝區溢位:溢位的資料,覆蓋了其他程序的資料,剛好控制了其他程序。
如何防止呢?判斷是否能存下
記憶體:編址的儲存單元
程序:1+10000000 用乙個變數1-100000 我們看到的是變數名---cpu看到的是位址
變數賦值:var_name=value
bash:變數型別:
環境變數
本地變數(區域性變數)
位置變數
特殊變數
本地變數:(整個bash程序)
name=jerry
local varname=value (區域性變數,作用域為當前**段)
引用變數:$,括號有時候可以省略
環境變數:作用域為當前shell程序及其子程序
定義: 1)export varname=value "匯出"
2)varname=value
export varname
命令列中啟動的指令碼在執行時會啟動乙個子shell程序,會繼承當前shell環境變數
系統自動啟動(非命令列啟動),就需要自我定義需要各環境變數
位置變數:$1 $2
引用指令碼的引數
shift shift positional parameters.
shift: shift [n]
程式執行,可能有兩類返回值
程式執行結果
程式狀態返回碼(0-255)
0:正確執行
1-255:表示錯誤 1,2,127系統預留;
$#: 引數個數
$*: 引數列表
$@:引數列表
撤銷變數:unset varname
檢視當前shell 中的變數 set (包括當前環境變數和本地變數)
檢視環境變數 export
printenv
env追加:export path=$path:/oracle/bin
第乙個指令碼:
執行unix或linux中除了path系統變數外的目錄下的命令都要加./
執行unix或linux中除了path系統變數外的目錄下的命令都要加./。
修改使用者的 .bash_profile,在 path一行最後加上 「:.」 (乙個冒號,乙個點) ,然後退出重新登陸使用者就ok了! path中沒有定義路徑,加上就ok了。
./表示當前目錄,這是因為linux的預設搜尋目錄裡沒有當前目錄,所以如果你在當前目錄需要執行程式就要加上路徑./,用全路徑代替也是可以的。
酸奶加綠茶 閱讀(
...)
編輯收藏
linux筆記 day10 shell程式設計
1.shell程式設計 程式語言 靜態語言 編譯型語言 強型別 變數在使用前,必須事先宣告 事先轉換成可執行語言 動態語言 解釋型語言 弱型別 變數用時宣告,拿來直接用,甚至不區分資料型別,一般預設都為字串 on the fly 邊解釋邊執行 perl shell python 物件導向 php 直...
linux學習筆記10
find搜尋命令 which 查詢可執行檔案的絕對路徑。它只是用來查詢path環境變數中出現的路徑下的可執行檔案,比如我們不知道某個命令的絕對路徑which一下就知道了。whereis b 只找binary檔案 m 只找在說明檔案manual路徑下的檔案。u 沒有說明檔的檔案。find搜尋檔案 fi...
linux學習筆記1 0
這學期在學linux 感覺聽老師講的懵逼 所以在慕課網找了linux課程 傳送門 命令格式 命令 選項 引數 常用命令 1.查詢目錄中的內容 ls 選項 檔案 a 顯示所有檔案,包括隱藏檔案 以 開頭的檔案 l 顯示詳細資訊 d 檢視目錄屬性 h 人性化顯示檔案大小 i 顯示inode 檔案許可權 ...