㈠ linux 中如何執行腳本
ash 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中執行的。
㈡ linux shell PATH路徑腳本不懂
這樣。linux查詢可執行的順序就是按照path中一個一個的路徑來查詢的。它會一個一個的查詢在一個目錄下找不到會往下知春接找。至到最後一個路徑搭沖耐。若是找不到它就會提示你 這個程序不存在。你也可判旁以把一些自己寫的程序放在自己的家目錄下 ~/bin .這樣,每個用戶的習慣可能不一樣。
㈢ linux開機自動啟動腳本放在哪兒
在/etc/rc.local中添加
如果不想將腳本粘來粘去,或創建鏈接什麼的,
則:
step1. 先修改好腳本,使其所有模塊都能在任意目錄啟動時正常執行;
step2. 再在/etc/rc.local的末尾添加一行以絕對路徑啟動腳本的行;
如:
$vim/etc/rc.local
#!/bin/sh
#
#Thisscriptwillbeexecuted*after*alltheotherinitscripts.
#'t
#.
touch/var/lock/subsys/local
./etc/rc.d/rc.tune
/opt/pjt_test/test.pl
保存並退出;
㈣ linux下編寫腳本程序時,PATH的路徑是什麼意思(那個path是大寫的)
PATH是環如辯境變數,shell會從這個變數中包含的瞎塌所有路徑中查找外部命令,例如有個名字叫做abc的可執行文件,該文件的路渣神缺徑在/usr/local/bin目錄下,這樣當你在終端的shell中直接輸入abc命令的話,abc這個程序就可以被執行,而不用輸入/usr/local/bin/abc。
另外你可以在終端中鍵入echo $PATH 也可看到當前這個PATH變數中的內容
㈤ linux怎麼在任何路徑都能運行腳本
把腳本所在的路徑放到PATH裡面。
通常PATH在兩個地方有定義:
1)培沖在 $HOME/.profile 裡面
2)在 /etc/profile 裡面
假設腳本存在於 /a/b/c/my_program.sh,那麼更改 PATH 如下:
export PATH=$PATH:/a/b/c
測試更改的結果:
1)logoff 後再 login
2)echo $PATH
檢查 /a/b/c 有沒有在 PATH 中
3)type my_program.sh
看看 shell 找不找旅叢得到配鎮殲你要的腳本(例如:my_program.sh)
㈥ linux裡面怎麼寫個切換目錄的腳本
通過腳本切換工作目錄,剛開始覺得很簡單,直接在腳本中寫一個cd語句就搞定了。
但是,其實不然。
執行腳本時候,只是在當前的shell下開了一個子進程,切換目錄的操作只對該進程中相關後續指令有效,但改變不了父進程的目錄。
因此,當你寫好了腳本,並且調用執行時,你的當前工作目錄並沒有變化。
那麼,解決方案呢?
有兩種方式解決(都是執行腳本的方式不同,腳本內容依然是一個cd語句。假定腳本為change.sh):
source change.sh
. ./change.sh
第一個點是bash的內部命令,表示在當前shell中運行
後面的「./change.sh」是命令的參數,即要執行的腳本(註:兩點之間要有空格)
㈦ linux腳本.sh,使用全路徑無法正常運行的原因
#!/bin/bash
#*****你的錯誤再這里,取出的進程號爛芹都有兩個****運行腳本已經給出提示
#pid,進程id,processidentity
pid=`pidof-s<tomcat進程完整進程顯示的名稱,如果有路徑帶著路徑>`
kill-9備空$pid
#原文寫的1秒,你覺得合理飢滾畢嗎?真能完成?
sleep30
/usr/local/apache-tomvat-7.0.55/bin/startup.sh
#原文寫的1秒鍾你覺得tomcat能啟動起來嗎?
sleep15
ps-ef|greptomcat
sleep5
exit0
㈧ linux shell腳本執行命令詳解
在Linux下,如果你需要執行shell腳本,那麼應該使用那個命令呢?下面由我為大家整理了linux shell腳本執行命令的相關知識,希望對大家有幫助!
linux shell腳本執行
linux shell腳本執行方法一: 切換到shell腳本所在的目錄(此時,稱為工作目錄)執行shell腳本:
cd /data/shell
./hello.sh
./的意思是說在當前的工作目錄下執行hello.sh。如果不加上./,bash可能會響應找到不到hello.sh的錯誤信息。因為目前的工作目錄(/data/shell)可能不在執行程序默認的搜索路徑之列,也就是說,不在環境變數PASH的內容之中。查看PATH的內容可用 echo $PASH 命令。現在的/data/shell就不在環境變數PASH中的,所以必須加上./才可執行。
linux shell腳本執行方法二: 以絕對路徑的方式去執行bash shell腳本:
/data/shell/hello.sh
linux shell腳本執行方法三: 直接使用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路徑自然也好理解了啊。
linux shell腳本執行方法四: 在當前的shell環境中執行bash shell腳本:
cd /data/shell
. hello.sh
或
cd /data/shell
source hello.sh
前三種方法執行shell腳本時都是在當前shell(稱為父shell)開啟一個子shell環境,此shell腳本就在這個子shell環境中執行。shell腳本執行完後子shell環境隨即關閉,然後又回到父shell中。而方法四則是在當前shell中執行的。
㈨ linux腳本如何一鍵授權並執行
在當前路徑下輸入r chmod 777 腳本名r 給腳本授權,r 然後就可以執行腳本r ./腳本名 r r 777 是最高許可權,有讓穗凱讀、寫、執行許可權;和屬組用戶和其他用戶的讀、寫、執行許可權。r 其他許可權分別是r -rw------- (600) -- 只有讀寫權坦喚限。r -rw-r--r-- (644) -- 只有有讀寫許可權;而屬組用戶和其他用戶只有讀許可權。r -rwx------ (700) -- 只有有讀、寫、執行許可權。r -rwxr-xr-x (755) -- 有讀、寫、執行許可權;而屬組用戶和其他用戶只有讀、執行許可權。r -rwx--x--x (711) -- 有讀、寫、執行許可權;而屬組用戶和其他用戶只有執行許可權。
Linux中執行shell腳本的4種方法總結,即在Linux中運行shell腳本的4種方法:
方法一:切換到shell腳本所在的目錄(此時,稱為工作目錄)執行shell腳本
方法二:以絕對路徑的方式去執行bash shell腳本
方法族螞三:直接使用bash 或sh 來執行bash shell腳本
方法四:在當前的shell環境中執行bash shell腳本
㈩ linux shell腳本,要實現路徑1下的目錄及文件拷貝到路徑2的目錄下,實現增量文件的拷貝
你這逗睜橘個早擾功能其實不需要用腳本,用rsync來實現比較容易吧
rsync可以同步兩個山團目錄下的文件,保證目錄文件內容一致