1. 程式人生 > 其它 >'GridEnv' object has no attribute 'unwrapped'問題的解決

'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【值】