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 檔案許可權 ...