A. 如何執行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中執行的。
B. 在shell腳本中,比如執行一個命令,在等待3秒後,沒有這個命令的結果,就執行下一條,這個怎麼寫呀
wget ...
touch finished
}
func &
sleep 3000
if [ -f finished ]
then
echo "finished"
else
echo "not finished"
fi
rm -f finished
建議閱讀linux相關書籍 比如說《linux就該這么學》。
C. 如何在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/shellbash hello.sh或碼碼如下:cd /data/shellsh hello.sh注意,若是以方法三的方式來執行,那麼,可以不必事先設定shell的執行許可權,甚至都不用寫shell中的第一行(指定bash路徑)。因為方法三是將hello.sh作為參數傳給sh(bash)命令來執行的。這時不是hello.sh自己來執行,而是被人家調用執行,所以不要執行許可權。那麼不用指定bash路徑自然也好理解了啊,呵呵……。方法四:在當前的shell環境中執行bash shell腳本:碼碼如下:cd /data/shell. hello.sh或碼碼如下:cd /data/shellsource hello.sh前三種方行shell腳本時都是在當前shell(稱為父shell)開啟一個子shell環境,此shell腳本就在這個子shell環境中執行。shell腳本執行完後子shell環境隨即關閉,然後又回到父shell中。而方法四則是在當前shell中執行的。
D. shell腳本怎麼顯示所執行的每一條命令
shell腳本要顯示所執行的每一條命令可以參考如下方法:
1、使用set命令的-x參數追蹤執行流程。在shell腳本中加入
set-x
E. 如何用SHELL命令運行一個文件
1、Shell是命令解釋器,所執行的文件有兩種,一種是基於ELF文件格式的可執行文件,一種是基於Shell腳本格式的腳本文件。
2、不管是可執行文件還是shell腳本,如果存在於PATH變數所指明的路徑中,shell會自動尋找相應的可執行文件,用戶只需要輸入可執行文件名或者腳本名即可執行。
3、如果可執行文件或者Shell腳本的存放位置不在PATH變數所指明的路徑中,則需要通過".」來執行,比如下面的C語言寫的hello world程序,需要輸入./t才可以被shell運行。
F. linux下如何寫個SHELL腳本,每天執行這么幾句命令:
1、登錄CentOS7系統,打開終端,輸入命令env shell列印出shell進程的環境變數。
G. 如何在shell中不停執行一條命令top
他會交給內核啊,然後如果沒有後台執行的話就要等到命令執行完然後才會再給你提示符。
第二個問題的話..在命令後頭加空格&就行了。會把你執行的命令放到後台。
還可以的,你可以試試哦
H. shell腳本能執行命令嗎
UNIX/Linux 系統的 SHELL 功能是相當強大的。其 SHELL 腳本程序當然能夠執行各種合法的命令了。但是一定要注意一點就是:你使用哪一種版本的 SHELL 語言進行 SHELL 編程,其語法格式還是有很大差別的。盡管完成同一個功能的編程思路是一個,但是其具體的實現語句就不一樣。例如:bash 和 C-Shell 。
I. 用shell寫一個腳本按日期循環執行某一條命令怎麼寫
[ $? -eq 0 ] && echo '成功' || echo '失敗'
[root@centos~]# ls
anaconda-ks.cfg install.log install.log.syslog rpmbuild
[root@centos~]# [ $? -eq 0 ] && echo '成功' || echo '失敗'
成功
[root@centos~]# lsss
-bash: lsss: command not found
[root@centos~]# [ $? -eq 0 ] && echo '成功' || echo '失敗'
失敗
[root@centos~]#
J. Linux系統下「Shell」重復執行上條命令都有哪幾種方法
方法一
for i in {1..10}; do echo "Hello, World";
方法二
在~/.bashrc文件中創建一個run函數:
function run() {
number=$1
shift
for n in $(seq $number); do
$@
done
}
1
2
3
4
5
6
7
使./bashrc生效
souce ~/./bashrc
1
示例
run 10 echo "Hello, World"