#!/bin/bash

成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司一直秉承“誠(chéng)信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!專注中小微企業(yè)官網(wǎng)定制,成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),塑造企業(yè)網(wǎng)絡(luò)形象打造互聯(lián)網(wǎng)企業(yè)效應(yīng)。
#echo hi
DEBUG=0
case $1 in
想要啟動(dòng)的程序名)
DEBUG=1 ;;
esac
if [[ ?$DEBUG -eq 1 ?]]; then
# 啟動(dòng)命令
./elasitcsearch -d
echo "程序已啟動(dòng)"
exit 10
else
echo 啟動(dòng)命令只能使用.想要啟動(dòng)的程序名)
exit 7
fi
不過(guò)我怎么覺(jué)得好奇怪呢。我沒(méi)寫(xiě)過(guò)這種東西,我總感覺(jué)那里有問(wèn)題。case 可以自己添加某些進(jìn)程進(jìn)去。這樣子你不需要在程序目錄存放只需要在你的家目錄存放就行。沒(méi)需要添加一個(gè)程序 就在case下添加進(jìn)去就行。代碼都差不多
原文及更新:
直接在/etc/rc.local(/etc/rc.d/rc.local)文件中添加即可
上面這腳本實(shí)際上在使用時(shí)出現(xiàn)了問(wèn)題, /home/neucrack/software/ss/start_ss_local.sh 這個(gè)命令始終沒(méi)有被執(zhí)行,原因是 /home/neucrack/software/ss/start_kcptun_client.sh 中的命令阻塞了進(jìn)程,導(dǎo)致后面一句始終沒(méi)有執(zhí)行,可以將他們分別放到后臺(tái)執(zhí)行就行了,如何在后臺(tái)執(zhí)行可以看文章最后一部分
也可以自己手動(dòng)在rc*.d中建立軟連接
桌面系統(tǒng)搜索 啟動(dòng) ,打開(kāi)啟動(dòng)管理器 添加刪除即可
一般有以下幾種方法:
1)在輸入命令的最前面加上 nohup 命令
如 nohup your_command 這樣命令在你退出后仍然會(huì)在后臺(tái)執(zhí)行
2) setsid 命令
setsid your_command 該命令的結(jié)果是使你所運(yùn)行的命令的父進(jìn)程為init,所以只有關(guān)機(jī)該進(jìn)程才會(huì)停止
3) (your_command )
就是用括號(hào)將你的命令括起來(lái),這樣做也是使命令的父進(jìn)程為init
4) disown
當(dāng)你在命令行下輸入 your_command 后命令就在后臺(tái)執(zhí)行了,然后執(zhí)行jobs命令,該命令會(huì)列出當(dāng)前正在后臺(tái)執(zhí)行的命令。例如輸入命令“top”
然后執(zhí)行"jobs"
輸出結(jié)果是
[1] + Suspended (tty output) top
注意行開(kāi)頭方括號(hào)內(nèi)的數(shù)字,該數(shù)字叫做jobspec,是給當(dāng)前后臺(tái)運(yùn)行的job的編號(hào)。這是你只要在命令行下輸入"disown -h 1" 后臺(tái)運(yùn)行的top命令就不會(huì)受到hangup信號(hào)的影響了。
5)使用 screen 命令
在命令行下輸入screen命令就開(kāi)啟了一個(gè)screen進(jìn)程,它就好像是一個(gè)全新的命令運(yùn)行環(huán)境,在該環(huán)境中你可以像在正常的terminal下那樣執(zhí)行
命令,但是這個(gè)screen是不受其父進(jìn)程的hangup信號(hào)的影響的,既然screen不受其父進(jìn)程影響,當(dāng)你意外掉線或者退出系統(tǒng)時(shí),在screen
中仍在執(zhí)行的命令仍然會(huì)繼續(xù)執(zhí)行。關(guān)于screen命令的使用方法你可以再去查閱相關(guān)資料。
1. 在安裝完P(guān)HP和Apache2后,我們需要安裝PHP命令行解釋器。
復(fù)制代碼 代碼如下:
# apt-get install php5-cli
[Debian 及類似系統(tǒng)]# yum install php-cli
[CentOS 及類似系統(tǒng)]
接下來(lái)我們通常要做的是,在 /var/www/html (這是 Apache2 在大多數(shù)發(fā)行版中的工作目錄)這個(gè)位置創(chuàng)建一個(gè)內(nèi)容為 ?php phpinfo(); ? ,名為 infophp.php 的文件來(lái)測(cè)試(PHP是否安裝正確),執(zhí)行以下命令即可。
復(fù)制代碼 代碼如下:
# echo '?php phpinfo(); ?' /var/www/html/infophp.php
然后,將瀏覽器訪問(wèn) ,這將會(huì)在網(wǎng)絡(luò)瀏覽器中打開(kāi)該文件。
檢查PHP信息
不需要任何瀏覽器,在Linux終端中也可以獲得相同的結(jié)果。在Linux命令行中執(zhí)行 /var/www/html/infophp.php ,如:
復(fù)制代碼 代碼如下:
# php -f /var/www/html/infophp.php
從命令行檢查PHP信息
由于輸出結(jié)果太大,我們可以通過(guò)管道將上述輸出結(jié)果輸送給 less 命令,這樣就可以一次輸出一屏了,命令如下:
復(fù)制代碼 代碼如下:
# php -f /var/www/html/infophp.php | less
檢查所有PHP信息
這里,‘-f‘選項(xiàng)解析并執(zhí)行命令后跟隨的文件。
2. 我們可以直接在Linux命令行使用 phpinfo() 這個(gè)十分有價(jià)值的調(diào)試工具而不需要從文件來(lái)調(diào)用,只需執(zhí)行以下命令:
復(fù)制代碼 代碼如下:
# php -r 'phpinfo();'
PHP調(diào)試工具
這里,‘-r‘ 選項(xiàng)會(huì)讓PHP代碼在Linux終端中不帶 和 標(biāo)記直接執(zhí)行。
3. 以交互模式運(yùn)行PHP并做一些數(shù)學(xué)運(yùn)算。這里,‘-a‘ 選項(xiàng)用于以交互模式運(yùn)行PHP。
復(fù)制代碼 代碼如下:
# php -aInteractive shellphp echo 2+3;5php echo 9-6;3php
echo 5*4;20php echo 12/3;4php echo 12/5;2.4php echo
2+3-1;4php echo 2+3-1*3;2php exit
輸入 ‘exit‘ 或者按下 ‘ctrl+c‘ 來(lái)關(guān)閉PHP交互模式。
啟用PHP交互模式
4. 你可以僅僅將PHP腳本作為shell腳本來(lái)運(yùn)行。首先,創(chuàng)建在你當(dāng)前工作目錄中創(chuàng)建一個(gè)PHP樣例腳本。
復(fù)制代碼 代碼如下:
# echo -e '#!/usr/bin/php\n?php phpinfo(); ?' phpscript.php
注意,我們?cè)谠揚(yáng)HP腳本的第一行使用 #!/usr/bin/php ,就像在shell腳本中那樣( /bin/bash )。第一行的 #!/usr/bin/php 告訴Linux命令行用 PHP 解釋器來(lái)解析該腳本文件。
其次,讓該腳本可執(zhí)行:
復(fù)制代碼 代碼如下:
# chmod 755 phpscript.php
接著來(lái)運(yùn)行它,
復(fù)制代碼 代碼如下:
# ./phpscript.php
5. 你可以完全靠自己通過(guò)交互shell來(lái)創(chuàng)建簡(jiǎn)單函數(shù),這你一定會(huì)被驚到了。下面是循序漸進(jìn)的指南。
開(kāi)啟PHP交互模式。
復(fù)制代碼 代碼如下:
# php -a
創(chuàng)建一個(gè)函數(shù),將它命名為 addition 。同時(shí),聲明兩個(gè)變量 $a 和 $b 。
復(fù)制代碼 代碼如下:
php function addition ($a, $b)
使用花括號(hào)來(lái)在其間為該函數(shù)定義規(guī)則。
復(fù)制代碼 代碼如下:
php {
定義規(guī)則。這里,該規(guī)則講的是添加這兩個(gè)變量。
復(fù)制代碼 代碼如下:
php { echo $a + $b;
所有規(guī)則定義完畢,通過(guò)閉合花括號(hào)來(lái)封裝規(guī)則。
復(fù)制代碼 代碼如下:
php {}
測(cè)試函數(shù),添加數(shù)字4和3,命令如下:
復(fù)制代碼 代碼如下:
php var_dump (addition(4,3));
樣例輸出
復(fù)制代碼 代碼如下:
7NULL
你可以運(yùn)行以下代碼來(lái)執(zhí)行該函數(shù),你可以測(cè)試不同的值,你想來(lái)多少次都行。將里頭的 a 和 b 替換成你自己的值。
復(fù)制代碼 代碼如下:
php var_dump (addition(a,b));
php var_dump (addition(9,3.3));
樣例輸出
復(fù)制代碼 代碼如下:
12.3NULL
創(chuàng)建PHP函數(shù)
你可以一直運(yùn)行該函數(shù),直至退出交互模式(ctrl+z)。同時(shí),你也應(yīng)該注意到了,上面輸出結(jié)果中返回的數(shù)據(jù)類型為 NULL。這個(gè)問(wèn)題可以通過(guò)要求 php 交互 shell用 return 代替 echo 返回結(jié)果來(lái)修復(fù)。
只需要在上面的函數(shù)的中 ‘echo‘ 聲明用 ‘return‘ 來(lái)替換
替換
復(fù)制代碼 代碼如下:
php { echo $a + $b;
為
復(fù)制代碼 代碼如下:
php { return $a + $b;
剩下的東西和原理仍然一樣。
這里是一個(gè)樣例,在該樣例的輸出結(jié)果中返回了正確的數(shù)據(jù)類型。
PHP函數(shù)
永遠(yuǎn)都記住,用戶定義的函數(shù)不會(huì)從一個(gè)shell會(huì)話保留到下一個(gè)shell會(huì)話,因此,一旦你退出交互shell,它就會(huì)丟失了。
在Linux下,如果你需要執(zhí)行shell腳本,那么應(yīng)該使用那個(gè)命令呢?下面由我為大家整理了linux shell腳本執(zhí)行命令的相關(guān)知識(shí),希望對(duì)大家有幫助!
linux shell腳本執(zhí)行
linux shell腳本執(zhí)行方法一: 切換到shell腳本所在的目錄(此時(shí),稱為工作目錄)執(zhí)行shell腳本:
cd /data/shell
./hello.sh
./的意思是說(shuō)在當(dāng)前的工作目錄下執(zhí)行hello.sh。如果不加上./,bash可能會(huì)響應(yīng)找到不到hello.sh的錯(cuò)誤信息。因?yàn)槟壳暗墓ぷ髂夸?/data/shell)可能不在執(zhí)行程序默認(rèn)的搜索路徑之列,也就是說(shuō),不在環(huán)境變量PASH的內(nèi)容之中。查看PATH的內(nèi)容可用 echo $PASH 命令。現(xiàn)在的/data/shell就不在環(huán)境變量PASH中的,所以必須加上./才可執(zhí)行。
linux shell腳本執(zhí)行方法二: 以絕對(duì)路徑的方式去執(zhí)行bash shell腳本:
/data/shell/hello.sh
linux shell腳本執(zhí)行方法三: 直接使用bash 或sh 來(lái)執(zhí)行bash shell腳本:
cd /data/shell
bash hello.sh
或
cd /data/shell
sh hello.sh
注意,若是以方法三的方式來(lái)執(zhí)行,那么,可以不必事先設(shè)定shell的執(zhí)行權(quán)限,甚至都不用寫(xiě)shell文件中的第一行(指定bash路徑)。因?yàn)榉椒ㄈ菍ello.sh作為參數(shù)傳給sh(bash)命令來(lái)執(zhí)行的。這時(shí)不是hello.sh自己來(lái)執(zhí)行,而是被人家調(diào)用執(zhí)行,所以不要執(zhí)行權(quán)限。那么不用指定bash路徑自然也好理解了啊。
linux shell腳本執(zhí)行方法四: 在當(dāng)前的shell環(huán)境中執(zhí)行bash shell腳本:
cd /data/shell
. hello.sh
或
cd /data/shell
source hello.sh
前三種方法執(zhí)行shell腳本時(shí)都是在當(dāng)前shell(稱為父shell)開(kāi)啟一個(gè)子shell環(huán)境,此shell腳本就在這個(gè)子shell環(huán)境中執(zhí)行。shell腳本執(zhí)行完后子shell環(huán)境隨即關(guān)閉,然后又回到父shell中。而方法四則是在當(dāng)前shell中執(zhí)行的。
1、首先,連接相應(yīng)linux主機(jī),進(jìn)入到linux命令行狀態(tài)下,等待輸入shell指令。
2、其次,在linux命令行中輸入:cp -f word.txt /word.txt。
3、鍵盤(pán)按“回車鍵”運(yùn)行shell指令,此時(shí)會(huì)看到cp命令直接執(zhí)行不提示用戶手動(dòng)判斷覆蓋了。
Linux運(yùn)行sql腳本的具體操作步驟如下:
1、使用shell工具登陸到安裝postgresql的服務(wù)器,切換到postgres用戶,postgresql默認(rèn)的操作用戶,命令是:su - postgres,查看當(dāng)前路徑是/var/lib/psql,創(chuàng)建一個(gè)test.sql腳本文件,命令是:vim test.sql。
2、sql腳本內(nèi)容是:create table test (id int not null primary key,name text);insert into test valus(1, 't1');
3、執(zhí)行test.sql腳本,命令是:psql -f test.sql
這里是因?yàn)閜ostgresql安裝本機(jī)上,在第一步中我們切換到了postgres用戶,因此這里默認(rèn)就是postgres用戶來(lái)操作,不用帶上用戶名和密碼。執(zhí)行結(jié)果如下,可以看到有兩個(gè)提示:
create table
insert 0 1
執(zhí)行完成后,我們登入數(shù)據(jù)庫(kù),命令是:psql
4、進(jìn)入psql交互式命令行后,我們執(zhí)行兩個(gè)查看命令:\d
可以看到表test確實(shí)已經(jīng)創(chuàng)建成功,然后執(zhí)行命令:\d test
可以看到表中字段是id和name,和我們創(chuàng)建語(yǔ)句中內(nèi)容一樣,說(shuō)明第一條語(yǔ)句執(zhí)行成功。
5、查看表中數(shù)據(jù),命令是:select * from test;
顯示出來(lái)的值是1,t1,說(shuō)明第二條執(zhí)行語(yǔ)句也執(zhí)行成功,說(shuō)明test.sql腳本執(zhí)行成功。
6、默認(rèn)是postgres用戶,本機(jī)操作是,不需要用戶和密碼,現(xiàn)在我們來(lái)試試操作遠(yuǎn)程linux服務(wù)器上的postgresql,也就是說(shuō)執(zhí)行本地的腳本文件,在遠(yuǎn)程服務(wù)器上創(chuàng)建表。如下面圖中所示,命令是:psql -U test1 -h 192.168.1.194 -f test.sql,輸入對(duì)應(yīng)用戶的密碼。
7、登陸到這個(gè)遠(yuǎn)程服務(wù)器上,命令是:psql -U test -h 192.168.194
執(zhí)行查看命令:\d,\d test
最后查詢數(shù)據(jù)庫(kù):select * from test;結(jié)果和上面都一致。
本文名稱:linux腳本執(zhí)行命令行 linux 運(yùn)行腳本命令
文章起源:http://chinadenli.net/article24/doogpce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、網(wǎng)站收錄、小程序開(kāi)發(fā)、全網(wǎng)營(yíng)銷推廣、網(wǎng)站營(yíng)銷、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)