跑sh腳本
1. 怎麼在網站上運行SH腳本
一般的網站都不會提供給你這個功能的,否則安全性會收到外界的威脅。
如果是自己的網站,可以在後台cgi編程時,運行編入進去的SH腳本,不贊成這樣做。
2. 怎麼在網站上運行SH腳本
Subversion是一個強大的版本控制系統,特別是它能夠輕松地處理庫管理進程中在各個點上的數據。在進行提交後、或者進行提交前,或鎖定、或解鎖文件中,或者在其它情況下,你都能擁有腳本句柄數據。所有的這些都是通過hook實現的,hook是subversion庫結構中的一部分。Hook 由一個庫事件來觸發的。例如,如果你有一個subversion庫存放在/subversion/repos/packages下,那麼你的hook將被存放在/subversion/repos/packages/hooks目錄下。
在這個hook目錄下存放著大量的臨時文件。這些文件只是作為例子來存在。所以如果你想寫一個腳本能在每次提交後,把subversion數據用e -mail發送給你的話,你應該拷貝post-commit.tmpl到post-commit中,把它變為可執行的,並按照你的需要去編輯它。
這些腳本能從subversion網站上獲得,同時也有些其它用戶提供的腳本和工具。你能在subversion.tigris.org/tools_contrib.html上瀏覽到許多這樣的腳本。目前最感興趣的是郵件提交的(post-commit e-mail)腳本commit-email.pl。把這個文件下載下來,並把它放在/usr/local/bin/下面,然後使它變成可執行的。同時在 hooks/post-commit腳本中,在該文件末尾增加上以下內容:
REPOS=""
REV=""
/usr/local/bin/commit-email.pl "$REPOS" "$REV" --from [email protected] -s
"SVN commit in packages" [email protected]
這個將執行的commit-e-mail.pl腳本會帶有一些參數,也就是庫名和你做的修訂。它將按照指定的主題路線從 [email protected]網站上發送e-mail到[email protected]上,[email protected]網站上有些指定的用戶或者郵件列表。
如果你想在站點上查看其它的腳本,你可以在版本控制軟體庫的管理器中看到許多有趣的腳本。在整個數據被提交到subversion之前,這些腳本能夠做某些檢查,比如,各種預提交檢查腳本。
3. linux執行sh腳本的指令有哪些
bash shell 腳本的方法有多種,現在作個小結。假設我們編寫好的shell腳本的文件名為hello.sh,文件位置在/data/shell目錄中並已有執行許可權。
方法一:切換到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
或
復制代碼代碼如下:
cd /data/shell
sh hello.sh
注意,若是以方法三的方式來執行,那麼,可以不必事先設定shell的執行許可權,甚至都不用寫shell文件中的第一行(指定bash路徑)。因為方法三是將hello.sh作為參數傳給sh(bash)命令來執行的。這時不是hello.sh自己來執行,而是被人家調用執行,所以不要執行許可權。那麼不用指定bash路徑自然也好理解了啊,呵呵……。
方法四:在當前的shell環境中執行bash shell腳本:
復制代碼代碼如下:
cd /data/shell
. hello.sh
或
復制代碼代碼如下:
cd /data/shell
source hello.sh
前三種方法執行shell腳本時都是在當前shell(稱為父shell)開啟一個子shell環境,此shell腳本就在這個子shell環境中執行。shell腳本執行完後子shell環境隨即關閉,然後又回到父shell中。而方法四則是在當前shell中執行的。
4. linux下通過 sh 打開一個程序,如何編寫sh腳本。
首先你要讓文件有能夠執行的許可權,比如你的文件是a.sh那麼你可以chmod+xa.sh然後運行文件就可以了./a.sh這樣運行是a.sh在當前工作目錄,如果文件沒在當前目錄,那麼就需要用絕對路徑來執行,比如/opt/a.sh/opt/test/a.sh
5. linux 如何開機自動運行sh腳本
要開機 運行只需將它加入到 rc.local ,一般為/etc/rc.d/rc.local 在其中加入以下行:sh /path/to/test.sh使用linux全局變數$?可以確定是否執行,如if [$? eq 0] the,echo "succeed!fi。
6. Linux跑腳本用sh和./有什麼區別
sh是指用sh來運行
./是指在當前目錄用默認方式運行
默認方式看你腳本文件里指定沒,如果指定了,就用你指定的,沒指定用當前的shell運行。
7. linux 如何開機自動運行sh腳本
要開機 運行只需將它加入到 rc.local ,一般為/etc/rc.d/rc.local 在其中加入以下行:sh /path/to/test.sh使用linux全局變數$?可以確定是否執行,如if [$? eq 0] the,echo "succeed!fi。
8. linux 中怎樣執行sh腳本
確認有X許可權,絕對路徑就可以執行。當前目錄sh abc.sh ./abc.sh 也都可以
9. 如何運行shell腳本
編寫好的shell腳本(如:test),可以採取兩種方式進行運行:
一、 $ sh test
一般不採用這種調用方式,尤其不採用「sh<test」的調用方式,因為這種方式將禁止shell讀取標准輸入。
也可以採用 $ 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特定的擴展功能,因而可能引起腳本無法正確執行。
10. 跑腳本的是什麼
如果.不在PATH裡面,要執行當前目錄下的可執行文件,使用全路徑:
./executable-file
如果要執行一個sh腳本,不管那個腳本有沒有可執行許可權,都可以使用:
sh [file]
這時file是作為參數傳給sh的,如果file不在當前目錄下,也需要使用全路徑。
全路徑有絕對路徑和相對路徑兩種。./和../開頭的都是相對路徑,分別表示」在當前目錄下」和」在父目錄下」。