'GridEnv' object has no attribute 'unwrapped'問題的解決
Shell是一個命令直譯器,他為使用者提供了一個向Linux核心傳送請求以便執行程式的介面系統級程式,使用者可以用Shell來啟動、掛起、停止甚至是編寫一些程式
指令碼格式要求:1、指令碼以#!/bin/bash開頭 2、指令碼需要有可執行許可權
指令碼常用的執行方式
方式1(輸入指令碼的絕對路徑或相對路徑)說明:首先要賦予helloworld.sh指令碼+x許可權,再執行指令碼 ./hello.sh /root/shcode/hello.sh
方式2(sh+指令碼)說明:不用賦予指令碼+x許可權,直接執行即可 【sh hello.sh】
【vim hello.sh】
{#!/bin/bash
echo “hello,world”}
shell變數介紹:
1、Linux Shell中的變數分為,系統變數和使用者自定義變數
2、系統變數:$HOME、$PWD、$SHELL、$USER等等,比如:echo $HOME等等
3、顯示當前shell中所有變數:【set】
自定義變數基本語法:
1、定義變數:變數名=值
2、撤銷變數:【unset 變數】
3、宣告靜態變數:【readonly 變數】,注意:不能unset
定義變數的規則:
1、變數名稱可以由字母、數字和下劃線組成,但是不能以數字開頭
2、等號兩側不能有空格
3、變數名稱一般習慣為大寫
將命令的返回值賦給變數
1、A=`date`反引號,執行裡面的命令,並把結果返回給變數A
2、A=$(date)等價於反引號
設定環境變數
【export 變數名=變數值】將shell變數輸出為環境變數/全域性變數
【source 配置檔案】讓修改後的配置資訊立即生效
【echo $變數名】查詢環境變數的值
快速入門:1、在/etc/profile檔案中定義TOMCAT_HOME環境變數;2、檢視環境變數TOMCAT_HOM的值;3、在另一個shell程式中使用TOMCAT_HOM;注意:在輸出TOMCAT_HOM環境變數之前,需要讓其生效【source /etc/profile】
shell指令碼多行註釋【:<<! !】
位置引數變數介紹:當我們執行一個shell指令碼是,如果希望獲取到命令列的引數資訊,就可以使用到位置引數變數,比如:./myshell.sh 100 200,這個就是一個執行shell的命令列,可以在myshell指令碼中獲取到引數資訊
基本語法:
$n(功能描述:n為數字,$0代表命令本身(./myshell.sh 100 200,其中$0代表./myshell.sh,$1代表100),$1-$9代表第一到第九個引數,十以上的引數需要用大括號包含,如${10})
$*(功能描述:這個變數代表命令列中所有的引數(100和200),$*把所有的引數看成一個整體)
$@(功能描述:這個變數也代表命令列中所有引數,不過$@把每個引數區分對待)
$#(功能描述:這個變數代表命令列中所有引數的個數)
預定義變數介紹:就是shell設計者事先已經定義好的變數,可以直接在shell指令碼中使用
基本語法:
$$(功能描述:當前程序的程序號(PID))
$!(功能描述:後臺執行的最後一個程序的程序號)
$?(功能描述:最後一次執行的命令的返回狀態。如何這個變數的值為0,證明上一個命令正確執行;如果這個變數的值為非0(具體是哪個數,由命令自己決定),則證明上一個命令執行不正確了)
運算子基本語法:
1、"$((運算式))"或"$[運算式]"或者expr m + n
2、注意expr運算子間要有空格,如果希望將expr的結果賦給某個變數,需要使用``(反引號)括起來
3、expr m - n
4、expr \*,/,% 乘,除,取餘
條件判斷基本語法:
if 【 condition 】(注意condition前後要有空格)
then
echo”equal“
fi
#非空返回ture,可使用$?驗證(0為ture,>1為false)
常用的判斷條件:
1、=,字串比較
2、兩個整數比較:-lt小於;-le小於等於;-eq等於;-gt大於;-ge大於等於;-ne不等於
3、按照檔案許可權進行判斷:-r有讀的許可權;-w有寫的許可權;-x有執行的許可權
4、按照檔案型別進行判斷:-f檔案存在並且是一個常規的檔案;-e檔案存在;-d檔案存在並是一個目錄
case $變數 in
"值1")
如果變數的值等於值1,則執行程式1
;;
"值2")
如果變數的值等於值1,則執行程式1
*)
如果變數的值都不是以上的值,則執行此程式
;;
esac
for迴圈
基本語法1:
for 變數 in 值1 值2 值3...
do
程式
done
基本語法2:
for((初始值;迴圈控制條件;變數變化))
do
程式
done
while迴圈
while 【 條件判斷式 】
do
程式
done
read讀取控制檯輸入
【read 選項 引數】選項:-p指定讀取值時的提示符;-t指定讀取值時等待的時間(秒),如果沒有在指定的時間內輸入,就不再等待了;
函式介紹:有系統函式,也可以自定義函式
自定義函式基本語法:
function funname()
{
Action;
【return int;】
}
呼叫直接寫函式名:funname【值】