原文及更新:
創(chuàng)新互聯(lián)公司專注于網(wǎng)站建設(shè)|成都網(wǎng)站維護(hù)|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋木托盤(pán)等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身策劃品質(zhì)網(wǎng)站。
直接在/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)資料。
編寫(xiě)好的shell腳本(如:test),可以采取兩種方式進(jìn)行運(yùn)行:\x0d\x0a一、 $ sh test\x0d\x0a一般不采用這種調(diào)用方式,尤其不采用“shtest”的調(diào)用方式,因?yàn)檫@種方式將禁止shell讀取標(biāo)準(zhǔn)輸入。\x0d\x0a也可以采用 $ ksh test\x0d\x0a這種方式要求shell具有“可讀”的訪問(wèn)權(quán)限。\x0d\x0a二、直接運(yùn)行可執(zhí)行的shell腳本之前,首先應(yīng)使用下列chmod命令,把shell腳本文件設(shè)置為可執(zhí)行的文件。\x0d\x0achmod 755 test(除文件屬主可寫(xiě)之外,每個(gè)用戶均具有讀和可執(zhí)行的訪問(wèn)權(quán)限)\x0d\x0achmod +rx test(同上)\x0d\x0achmod u+rx test(只有文件屬主具有讀和執(zhí)行的訪問(wèn)權(quán)限)\x0d\x0a按照上述要求設(shè)置shell腳本文件的訪問(wèn)權(quán)限后,可采用下列方式,直接運(yùn)行shell腳本了。\x0d\x0a1、test(如果命令檢索路徑包含當(dāng)前目錄)\x0d\x0a2、./test(如果命令減縮路徑不包含當(dāng)前目錄)\x0d\x0a*說(shuō)明: sh test 方式調(diào)用一個(gè)shell叫蹦可能會(huì)禁止某些shell特定的擴(kuò)展功能,因而可能引起腳本無(wú)法正確執(zhí)行。
1.
如果是開(kāi)機(jī)馬上執(zhí)行的腳本,可以將腳本寫(xiě)到rc.local中;
2.
如果是用戶登錄后自動(dòng)執(zhí)行腳本,可以將腳本寫(xiě)到相應(yīng)的用戶目錄下“~/.bash_profile”,若腳本“~/.bash_profile”不存在,可以直接拷貝“/etc/profile”命名為“~/.bash_profile”;
3.
如果是要任一用戶登錄后自動(dòng)執(zhí)行腳本,可以將腳本寫(xiě)到“/etc/profile”中。
linux下可以有兩種方式執(zhí)行shell腳本:
1、用shell程序執(zhí)行腳本:根據(jù)shell腳本的類型,選擇shell程序,常用的有sh,bash,tcsh等(一般來(lái)說(shuō)第一行#!/bin/bash里面指明了shell類型的,比如#!/bin/bash指明是bash,#!/bin/sh則是sh);然后輸入命令(其中bash為shell的名稱,myshell.sh則為要執(zhí)行的代碼):
bash
myshell.sh
2、直接執(zhí)行腳本:
不過(guò)首先的加上可執(zhí)行權(quán)限(也許要root權(quán)限,4情況而定),執(zhí)行:
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í)行腳本?
步驟如下:有三種方法:
1. ./file.sh:開(kāi)啟bash子進(jìn)程來(lái)執(zhí)行,就是開(kāi)啟額外的進(jìn)程來(lái)進(jìn)行,不影響原進(jìn)程的配置等
2. bash file.sh特點(diǎn)和/file.sh的特點(diǎn)相同。。
3. source file.sh 或者 . file.sh 特點(diǎn):在原bash進(jìn)程中執(zhí)行腳本。source 和 . 命令是一樣的。你可以搜索 source補(bǔ)充,如何查看腳本運(yùn)行是否開(kāi)啟了bash子進(jìn)程vim file.sh寫(xiě)入#!/bin/bash;#echo $$命令會(huì)輸出bash進(jìn)程。bash file.sh 屏幕輸出3984;source file.sh ?屏幕輸出4176 和 你直接在shell中輸出的一樣,說(shuō)明在同一個(gè)bash的進(jìn)程中。
根據(jù)具體問(wèn)題類型,進(jìn)行步驟拆解/原因原理分析/內(nèi)容拓展等。
具體步驟如下:/導(dǎo)致這種情況的原因主要是……
本文題目:linux執(zhí)行腳本的命令,linux 執(zhí)行腳本
鏈接分享:http://jinyejixie.com/article4/hojeie.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、網(wǎng)站排名、標(biāo)簽優(yōu)化、網(wǎng)站制作、做網(wǎng)站、動(dòng)態(tài)網(wǎng)站
聲明:本網(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)