1樓:晏智不書
#2sh/bash
./a.sh
這種情況不需要指令碼具有執行許可權
以上兩種執行方式都是在子shell中執行的,也就是說當前shell需要啟動另外一個shell,用來執行a.sh內的命令
#1source
./a.sh
#2../a.sh(注意前面的.)
以上兩種執行方式是在當前shell下執行,並不需要建立子shell
source和
.命令的作用:用來執行一個指令碼
前兩種方式和後兩種方式的另外區別:如果你在一個指令碼里export
$kkk=111
,如果你用./a.sh執行該指令碼,執行完畢後,你執行
echo
$kkk
,發現沒有值,如果你用source來執行
,然後再echo
,就會發現kkk=111。因為呼叫./a.
sh來執行shell是在一個子shell裡執行的,所以執行後,結構並沒有反應到父shell裡,但是source不同它就是在本shell中執行的,所以可以看到結果。
#執行指令碼時是在一個子shell環境執行的,指令碼執行完後該子shell自動退出
#一個shell中的系統環境變數只對該shell或者它的子shell有效,該shell結束時變數消失(並不能返回到父shell中)
#用export定義的變數會被複制到該shell的子shell中
2樓:矯梅花天雲
給指令碼加上執行許可權chmod
u+xa.sh,
而後就可以直接用全路徑來執行指令碼了,比如當前資料夾下用./a.sh,如果如果指令碼所在目錄在path環境變數之中,
則直接用a.sh即可(這和執行我們自己編寫的程式是一個道理)sh/bash
./a.sh
這種情況不需要指令碼具有執行許可權以上兩種執行方式都是在子shell中執行的,也就是說當前shell需要啟動另外一個shell,用來執行a.sh內的命令source
./a.sh
../a.sh(注意前面的
.)以上兩種執行方式是在當前shell下執行,並不需要建立子shellsource和
.命令的作用:用來執行一個指令碼
前兩種方式和後兩種方式的另外區別:如果你在一個指令碼里export
$kkk=111
,如果你用./a.sh執行該指令碼,執行完畢後,你執行
echo
$kkk
,發現沒有值,如果你用source來執行
,然後再echo
,就會發現kkk=111。因為呼叫./a.sh來執行shell是在一個子shell裡執行的,所以執行後,結構並沒有反應到父shell裡,但是
source不同它就是在本shell中執行的,所以可以看到結果。
shell指令碼的幾種執行方式之區別
3樓:紫夜梟雄
1、bash 指令碼
bai文du件或者 sh 指令碼檔案,通過這種方式可以執行zhi沒有執行權dao限或者在指令碼里面沒有指內定直譯器的容指令碼;
2、./指令碼檔案或者指令碼檔案全路徑,通過這種方式執行指令碼檔案需要指令碼檔案有執行許可權,並且在指令碼檔案裡面指定了正確的直譯器;
3、source 指令碼檔案或者. 指令碼檔案(.和指令碼檔案之間有空格),這種執行方式是在當前shell下執行,執行後指令碼中定義的變數不會釋放,這也是此種方式執行指令碼與前三種的最大區別。
例如在指令碼中定義了name=gg,那麼在指令碼執行完成之後,echo $name仍會顯示gg
shell指令碼執行的幾種方法以及區別
4樓:卷珏
#2 sh/bash ./a.sh 這種情況不需要指令碼具有執行許可權
以上兩種執行方式都是在子shell中執行的,也就是說當前shell需要啟動另外一個shell,用來執行a.sh內的命令
#1 source ./a.sh
#2 ../a.sh(注意前面的 . )
以上兩種執行方式是在當前shell下執行,並不需要建立子shell
source和 . 命令的作用:用來執行一個指令碼
前兩種方式和後兩種方式的另外區別:如果你在一個指令碼里export $kkk=111 ,如果你用./a.
sh執行該指令碼,執行完畢後,你執行 echo $kkk ,發現沒有值,如果你用source來執行 ,然後再echo ,就會發現kkk=111。因為呼叫./a.
sh來執行shell是在一個子shell裡執行的,所以執行後,結構並沒有反應到父shell裡,但是source不同它就是在本shell中執行的,所以可以看到結果。
# 執行指令碼時是在一個子shell環境執行的,指令碼執行完後該子shell自動退出
# 一個shell中的系統環境變數只對該shell或者它的子shell有效,該shell結束時變數消失(並不能返回到父shell中)
# 用export定義的變數會被複制到該shell的子shell中
shell指令碼的執行都有哪些方法,有何不同
5樓:匿名使用者
1、直接用shell命令來執行你的指令碼,如:sh scriptfilename;ksh scriptfilename
這種方法可以在命令後面通過不同的選項來進行除錯
2、給指令碼授予可執行許可權: chmod +x scriptfilename ,在指令碼所在目錄下輸入 ./scriptfilename
6樓:喻逸
執行一個bash指令碼的3中方式:
1.為指令碼檔案加上可執行的許可權:
chmod +x script_file
2.執行/bin/bash 命令並且把指令碼檔名作為它的引數3.可在shell指令碼中的開頭加上一句:#!/bin/bash,然後在指令碼所在目錄 ./shellfile
看自己的需求,沒什麼本質的區別。
shell和shell指令碼有什麼區別啊?
7樓:仇羽吾詠
shell是什麼呢?確切一點說,shell就是一個命令列直譯器,它的作用就是遵循一定的語法將輸入的命令加以解釋並傳給系統。它為使用者提供了一個向linux傳送請求以便執行程式的介面系統級程式,使用者可以用shell來啟動、掛起、停止甚至是編寫一些程式。
shell本身是一個用c語言編寫的程式,它是使用者使用linux的橋樑。shell既是一種命令語言,又是一種程式設計語言(就是你所說的shell指令碼)。作為命令語言,它互動式地解釋和執行使用者輸入的命令;作為程式設計語言,它定義了各種變數和引數,並提供了許多在高階語言中才具有的控制結構,包括迴圈和分支。
它雖然不是linux系統核心的一部分,但它呼叫了系統核心的大部分功能來執行程式、建立文件並以並行的方式協調各個程式的執行。
如何執行shell指令碼?
8樓:呼延溶
編寫好的shell指令碼(如:test),可以採取兩種方式進行執行:
一、 $ sh test
一般不採用這種呼叫方式,尤其不採用「sh 也可以採用 $ ksh test 這種方式要求shell具有「可讀」的訪問許可權。 二、直接執行可執行的shell指令碼之前,首先應使用下列chmod命令,把shell指令碼檔案設定為可執行的檔案。 chmod 755 test(除檔案屬主可寫之外,每個使用者均具有讀和可執行的訪問許可權) chmod +rx test(同上) chmod u+rx test(只有檔案屬主具有讀和執行的訪問許可權) 按照上述要求設定shell指令碼檔案的訪問許可權後,可採用下列方式,直接執行shell指令碼了。 1、test(如果命令檢索路徑包含當前目錄) 2、./test(如果命令減縮路徑不包含當前目錄) *說明: sh test 方式呼叫一個shell叫蹦可能會禁止某些shell特定的擴充套件功能,因而可能引起指令碼無法正確執行。 shell指令碼有幾種執行方式,如何使用 9樓:良玉小帝 sh a.sh 或者chmod a+x a.sh ./a.sh 有執行許可權就行了。 看鳥哥的私房菜學學吧 10樓:talkmacy岑 所居猛獸奔。遷人同衛鶴, every time 可以引導時間狀語從句可引導時間狀語從句的time短語有every time,each time,the next time,the last time,by the time,the first time,any time等 應該沒有你說的every time when 句子和... 系統如何設定定時開機 電腦定時開機 巨集碁電腦非bios方法。你是否嘗試過bios方法定時開機卻發現介面找不到選項?你是否想過買定時開機軟體但覺得費用有些小貴?本文將介紹一種非bios定時開機的方法。由於非專業人士,拙見請見諒。定時開機大概有兩種模式,第一種使用bios介面設定定時開機,第二種嚴格意... 總體來說,你做一篇詩歌鑑賞的步驟如下 1.看標題 通常標題含有一定的資訊,如時令 地點 型別,當然也有隻是詞牌名的 2.看作者 不過一來要防止被某些名家的慣有風格所誤導,二來有些不出名的就用不上 3.看意象 詩句中的意象就是在間接提醒你詩歌的基調和所表達的思想感情 4.判型別 屬於詠物詩 寫景詩 送...every time接從句的幾種方法
windows設定定時開機的幾種方法
詩歌鑑賞有哪些方法古代詩歌鑑賞的幾種方法