腳本中執(zhí)行l(wèi)inux命令 linux執(zhí)行腳本文件

linux 中如何執(zhí)行腳本?

ash

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序定制開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了大廠免費建站歡迎大家使用!

shell

腳本的方法有多種,現(xiàn)在作個小結(jié)。假設(shè)我們編寫好的shell腳本的文件名為hello.sh,文件位置在/data/shell目錄中并已有執(zhí)行權(quán)限。

方法一:切換到shell腳本所在的目錄(此時,稱為工作目錄)執(zhí)行shell腳本:

cd

/data/shell

./hello.sh

./的意思是說在當(dāng)前的工作目錄下執(zhí)行hello.sh。如果不加上./,bash可能會響應(yīng)找到不到hello.sh的錯誤信息。因為目前的工作目錄(/data/shell)可能不在執(zhí)行程序默認(rèn)的搜索路徑之列,也就是說,不在環(huán)境變量PASH的內(nèi)容之中。查看PATH的內(nèi)容可用

echo

$PASH

命令。現(xiàn)在的/data/shell就不在環(huán)境變量PASH中的,所以必須加上./才可執(zhí)行。

方法二:以絕對路徑的方式去執(zhí)行bash

shell腳本:

/data/shell/hello.sh

方法三:直接使用bash

或sh

來執(zhí)行bash

shell腳本:

cd

/data/shell

bash

hello.sh

cd

/data/shell

sh

hello.sh

注意,若是以方法三的方式來執(zhí)行,那么,可以不必事先設(shè)定shell的執(zhí)行權(quán)限,甚至都不用寫shell文件中的第一行(指定bash路徑)。因為方法三是將hello.sh作為參數(shù)傳給sh(bash)命令來執(zhí)行的。這時不是hello.sh自己來執(zhí)行,而是被人家調(diào)用執(zhí)行,所以不要執(zhí)行權(quán)限。那么不用指定bash路徑自然也好理解了啊,呵呵……。

方法四:在當(dāng)前的shell環(huán)境中執(zhí)行bash

shell腳本:

cd

/data/shell

.

hello.sh

cd

/data/shell

source

hello.sh

前三種方法執(zhí)行shell腳本時都是在當(dāng)前shell(稱為父shell)開啟一個子shell環(huán)境,此shell腳本就在這個子shell環(huán)境中執(zhí)行。shell腳本執(zhí)行完后子shell環(huán)境隨即關(guān)閉,然后又回到父shell中。而方法四則是在當(dāng)前shell中執(zhí)行的。

perl腳本中怎么樣執(zhí)行l(wèi)inux命令

Linux下perl文件的執(zhí)行

#! /usr/bin/perl

第一個“#”表示是這一行是注釋

第二個“!”表示這一行不是普通注釋,而是解釋器路徑的聲明行

后面的“/usr/bin/perl”是perl解釋器的安裝路徑,也有可能是:“/usr/local/bin/perl”,如果那個不行,就換這個。

這樣修改后,文件就是這個模樣:

#!/usr/bin/perl

#test.pl

print "test message! \n";

然后,給文件加上可執(zhí)行的屬性:

$ chmod 755 test.pl 或者 $ chmod +x test.pl

這兩個命令用哪一個都可以。

現(xiàn)在執(zhí)行吧: $ ./test.pl

Linux下如何運行sql腳本

Linux運行sql腳本的具體操作步驟如下:

1、使用shell工具登陸到安裝postgresql的服務(wù)器,切換到postgres用戶,postgresql默認(rèn)的操作用戶,命令是:su - postgres,查看當(dāng)前路徑是/var/lib/psql,創(chuàng)建一個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

這里是因為postgresql安裝本機(jī)上,在第一步中我們切換到了postgres用戶,因此這里默認(rèn)就是postgres用戶來操作,不用帶上用戶名和密碼。執(zhí)行結(jié)果如下,可以看到有兩個提示:

create table

insert 0 1

執(zhí)行完成后,我們登入數(shù)據(jù)庫,命令是:psql

4、進(jìn)入psql交互式命令行后,我們執(zhí)行兩個查看命令:\d

可以看到表test確實已經(jīng)創(chuàng)建成功,然后執(zhí)行命令:\d test

可以看到表中字段是id和name,和我們創(chuàng)建語句中內(nèi)容一樣,說明第一條語句執(zhí)行成功。

5、查看表中數(shù)據(jù),命令是:select * from test;

顯示出來的值是1,t1,說明第二條執(zhí)行語句也執(zhí)行成功,說明test.sql腳本執(zhí)行成功。

6、默認(rèn)是postgres用戶,本機(jī)操作是,不需要用戶和密碼,現(xiàn)在我們來試試操作遠(yuǎn)程linux服務(wù)器上的postgresql,也就是說執(zhí)行本地的腳本文件,在遠(yuǎn)程服務(wù)器上創(chuàng)建表。如下面圖中所示,命令是:psql -U test1 -h 192.168.1.194 -f test.sql,輸入對應(yīng)用戶的密碼。

7、登陸到這個遠(yuǎn)程服務(wù)器上,命令是:psql -U test -h 192.168.194

執(zhí)行查看命令:\d,\d test

最后查詢數(shù)據(jù)庫:select * from test;結(jié)果和上面都一致。

文章名稱:腳本中執(zhí)行l(wèi)inux命令 linux執(zhí)行腳本文件
分享路徑:http://muchs.cn/article14/dohdjge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、網(wǎng)站制作、手機(jī)網(wǎng)站建設(shè)、ChatGPT、網(wǎng)站導(dǎo)航、App設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作