❶ 如何建立和執行shell腳本文件--基於linux
方法很多:
方法一:切換到shell腳本所在的目錄(此時,稱為工作目錄)執行shell腳本。
cd /data/shell
./hello.sh./的意思是說在當前的工作目錄下執行hello.sh。如果不加上./,bash可能會響應找到不到hello.sh的錯誤信息。因為目前的工作目錄
(/data/shell)可能不在執行程序默認的搜索路徑之列,也就是說,不在環境變數PASH的內容之中。查看PATH的內容可用
echo
$PASH
命令。現在的/data/shell就不在環境變數PASH中的,所以必須加上./才可執行。
方法二:以絕對路徑的方式去執行bash
shell腳本。
/data/shell/hello.sh方法三:直接使用bash
或sh
來執行bash
shell腳本。
cd /data/shell
bash hello.sh方法四:在當前的shell環境中執行bash
shell腳本。
cd /data/shell
. hello.sh
❷ 如何在linux下執行一個shell腳本
簡單的說,你把你在終端輸入的命令放在一個文件里,這個文件就成了shell腳本
比如你編輯一個文件叫
helloworld.sh
內容是
echo
"hello
world!"
你把helloword.sh變成可執行的,就是在終端輸入
chmod
+x
helloworld.sh
然後運行
./helloworld.sh
你就成功滴寫好了一個shell腳本
❸ linux怎麼進入shell環境
兩種方法:一是開機就進入shell,需要修改/etc/inittab文件的默認運行級為3。二是從桌面環境下運行konsole之類的終端模擬器。
❹ 如何在Linux系統中執行Shell文件
首先你要讓文件有能夠執行的許可權,比如你的文件是a.sh那麼你可以chmod
x
a.sh然後運行文件就可以了./a.sh這樣運行是a.sh在當前工作目錄,如果文件沒在當前目錄,那麼就需要用絕對路徑來執行,比如/opt/a.sh
,/opt/test/a.sh,如果想知道更多的linux相關可以關注《linux就該這么學》這本書。
❺ linuxshell 腳本執行的過程是怎樣的
Linux下可以有兩種方式執行Shell腳本:
1、用shell程序執行腳本:根據shell腳本的類型,選擇shell程序,常用的有sh,bash,tcsh等(一般來說第一行#!/bin/bash裡面指明了shell類型的,比如#!/bin/bash指明是bash,#!/bin/sh則是sh);然後輸入命令(其中bash為shell的名稱,myshell.sh則為要執行的代碼):
bash myshell.sh
2、直接執行腳本:
不過首先的加上可執行許可權(也許要root許可權,4情況而定),執行:
chmod +x myshell.sh
然後執行:
./myshell.sh
就可以執行了。
❻ linux 怎麼運行shell
在腳本中定義執行的shell類型,比如#!/bin/bash
然後設置文件許可權為可執行chmod +x
然後直接./script.sh 即可
❼ 如何運行linux shell程序
如何運行shell程序,如何在shell程序以及後續腳本中使用同一個變數,這些在工作中經常用到, 我找到如下的文章,再加深復習一下。
1 source命令用法:
source FileName
作用:在當前bash環境下讀取並執行FileName中的命令。該filename文件可以無"執行許可權"
註:該命令通常用命令「.」來替代。
如:source .bash_profile
. .bash_profile兩者等效。
source(或點)命令通常用於重新執行剛修改的初始化文檔。
source命令(從 C Shell 而來)是bash shell的內置命令。
點命令,就是個點符號,(從Bourne Shell而來)。
source的程序主體是bash,腳本中的$0變數的值是bash,而且由於作用於當前bash環境,腳本中set的變數將直接起效
2 sh, bash的命令用法:
sh/bash FileName
作用:打開一個子shell來讀取並執行FileName中命令。該filename文件可以無"執行許可權"
註:運行一個shell腳本時會啟動另一個命令解釋器.
每個shell腳本有效地運行在父shell(parent shell)的一個子進程里.
這個父shell是指在一個控制終端或在一個xterm窗口中給你命令指示符的進程.
shell腳本也可以啟動他自已的子進程.
這些子shell(即子進程)使腳本並行地,有效率地地同時運行腳本內的多個子任務.
在ubuntu中sh只是bash的一個鏈接。
由於是在子shell中執行,腳本設置的變數不會影響當前shell。
3 ./的命令用法:
./FileName
作用:打開一個子shell來讀取並執行FileName中命令。該filename文件需要"執行許可權"
註:運行一個shell腳本時會啟動另一個命令解釋器.
每個shell腳本有效地運行在父shell(parent shell)的一個子進程里.
這個父shell是指在一個控制終端或在一個xterm窗口中給你命令指示符的進程.
shell腳本也可以啟動他自已的子進程.
這些子shell(即子進程)使腳本並行地,有效率地地同時運行腳本內的多個子任務.
由於是在子shell中執行,腳本設置的變數不會影響當前shell。
4 export:
一個變數創建時,它不會自動地為在它之後創建的shell進程所知。而命令export可以向後面的shell傳遞變數的值。當一個shell腳本調用並執行時,它不會自動得到原為腳本(調用者)里定義的變數的訪問權,除非這些變數已經被顯式地設置為可用。export命令可以用於傳遞一個或多個變數的值到任何後繼腳本
5. 舉例
比如您在一個腳本里export $KKK=111 ,假如您用./a.sh執行該腳本,執行完畢後,您運行 echo $KKK ,發現沒有值,假如您用source來執行 ,然後再echo ,就會發現KKK=111。因為調用./a.sh來執行shell是在一個子shell里運行的,所以執行後,結構並沒有反應到父shell里,但是 source不同他就是在本shell中執行的,所以能夠看到結果.
小測試
1 建立test.sh
#!/bin/bash
export s=/home/jboss/
2 執行命令: source test.sh
echo $s
結果輸出: /home/jboss/
3 新開個shell
執行命令: ./test.sh
echo $s
結果: 沒有輸出s值
結論:
1、執行腳本時是在一個子shell環境運行的,腳本執行完後該子shell自動退出。
2、一個shell中的系統環境變數才會被復制到子shell中(用export定義的變數);
3、一個shell中的系統環境變數只對該shell或者它的子shell有效,該shell結束時變數消失(並不能返回到父shell中)。3、不用 export定義的變數只對該shell有效,對子shell也是無效的。
直接執行一個腳本文件是在一個子shell中運行的,而source則是在當前shell環境中運行的。
source可以讓腳本影響它們的父shell環境,這和export去影響子shell環境相反.
❽ linux里怎麼使用shell
shell就是操作系統的外殼,是用做用戶和系統內核交互的工具,包括圖形的和命令行的。在linux中想使用shell只要在運行命令中輸入xterm或者按住ctrl+alt+f1就行了。
❾ linux 怎麼編寫一個shell程序並執行
#!/bin/bash
或者#!/bin/shif
[
-e
/etc/apache2/httpd.conf
];then
/etc/init.d/httpd
startfi這是最簡單的一個腳本,可以添加相關的代碼來完善功能。。需要root的許可權才能執行。。。
換行空格什麼的要注意,,在這里寫出來
提交後換行可能會沒了。
❿ 在Linux中怎麼運行shell腳本
1、sh 腳本名
2、 如果腳本有執行許可權 直接敲出腳本的路徑就能執行
比如 aa.sh 在/etc 下面 直接敲 /etc/aa.sh 就能執行了