好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 淺談ubuntu執(zhí)行.sh文件幾種方式區(qū)別

淺談ubuntu執(zhí)行.sh文件幾種方式區(qū)別

熱門標(biāo)簽:外呼系統(tǒng)打哪顯哪 蘭州ai電銷機器人招商 北海市地圖標(biāo)注app 高德地圖標(biāo)注論壇 江西外呼系統(tǒng) AI電銷機器人 源碼 新邵電銷機器人企業(yè) 湖北ai智能電銷機器人 新科美甲店地圖標(biāo)注

前言

不同的script執(zhí)行方式會造成不一樣的結(jié)果,尤其對bash的環(huán)境影響很大,腳本的執(zhí)行方式有大概以下幾種方式。

首先寫一個簡單的test.sh文件:

#!/bin/bash

read -p "Please input your first name:" firstname
read -p "Please input your last name:" lastname
echo -e "\nYour full name is: $firstname $lastname"

使用sh test.sh執(zhí)行

使用 sh test.sh 來執(zhí)行script文件,該方法標(biāo)明使用 sh 這種shell來執(zhí)行test.sh文件,sh已經(jīng)是一種被bash替代的shell,盡管我們在test.sh中聲明使用 #!/bin/bash 來執(zhí)行我們的文件,但此時使用sh而不是bash,則#!/bin/bash 已不起作用。

使用bash test.sh 執(zhí)行

該方法其實與 sh test.sh 的原理一樣,只是使用了 /bin/bash 該種shell來執(zhí)行我們的腳本文件。

所以,其實使用 dash test.sh' 也是可以的,只是取決于自己想使用那種shell來執(zhí)行腳本,但sh、bash、dash三者有些許差別,對于部分關(guān)鍵字如 let,bash支持,而sh和dash并不支持,對于部分關(guān)鍵字則選擇使用bash。

使用點 . 執(zhí)行

該種方式使用之前必須為文件添加執(zhí)行的權(quán)限:

$ chmod +x test.sh

添加完執(zhí)行權(quán)限之后,便可以使用 ./test.sh 來執(zhí)行腳本,該方式與 bash test.sh 是一樣的 ,默認(rèn)使用 bin/bash 來執(zhí)行我們的腳本。

只有該種執(zhí)行方式需要對文件添加執(zhí)行權(quán)限,其他方式并不需要。

使用source執(zhí)行

使用source則也能夠直接執(zhí)行我們的腳本:

source test.sh 

區(qū)別

當(dāng)我們使用 sh test.sh 、bash test.sh 、 ./test.sh 執(zhí)行腳本的時候,該test.sh運行腳本都會使用一個新的shell環(huán)境來執(zhí)行腳本內(nèi)的命令,也就是說,使用這3種方式時,其實script是在子進程的shell內(nèi)執(zhí)行,當(dāng)子進程完成后,子進程內(nèi)的各項變量和操作將會結(jié)束而不會傳回到父進程中。

無法理解??看下面例子:

[root@ubuntu] # bash test.sh
Please input your first name: yao  <==輸入firstname
Please input your last name: pentonBin  <==輸入lastname

Your full name is: yao pentonBin
[root@ubuntu] # echo $firstname
       <==這里沒有輸出

如果使用source方法來執(zhí)行腳本呢?

[root@ubuntu] # source test.sh
Please input your first name: yao  <==輸入firstname
Please input your last name: pentonBin  <==輸入lastname

Your full name is: yao pentonBin
[root@ubuntu] # echo $firstname
yao    <==這里輸出firstname

也就是說,source方法執(zhí)行腳本是在父進程中執(zhí)行的,test.sh的各項操作都會在原本的shell內(nèi)生效,這也是為什么不注銷系統(tǒng)而要讓某些寫入~/.bashrc的設(shè)置生效時,需要使用 source ~/.bashrc 而不能使用 bash ~/.bashrc

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:南陽 自貢 大理 阿克蘇 黃石 海南 黔東 池州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談ubuntu執(zhí)行.sh文件幾種方式區(qū)別》,本文關(guān)鍵詞  淺談,ubuntu,執(zhí)行,.sh,文件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺談ubuntu執(zhí)行.sh文件幾種方式區(qū)別》相關(guān)的同類信息!
  • 本頁收集關(guān)于淺談ubuntu執(zhí)行.sh文件幾種方式區(qū)別的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 欧美人添添性囗交做爰动态图| 特黄做受又大又粗又长大片| yy6080亚洲一级理论| Asmr色诱娇喘呻吟网站| 116美女写真成人午夜视频a| 欧美vivodeshd免费| 一级生性活免费视频| 精品亚洲AV高清一区二区三河南| yeezy水蜜桃v2值得入手吗| 粉嫩小馒头12p| 亚洲第成色999久久网站| 丁香婷婷啪啪| 中文字幕人妻熟女av网站| jzzjzz日本成熟少妇| 韩国污动漫无遮掩无删减电脑版| 武则天一级淫片| 日日噜噜噜夜夜爽爽狠狠图片| 好爽?好紧?腿张开自己| 国内精品久久久久久久日韩| 日本黄大片新婚之夜| 免费一级大片儿| 久久理论片迅播影院一级| 91精品91久久久久77777| 5个姿势夹的男人爽到叫视频| 色戒2828| aa级黄色毛片| 乱人伦中文字幕在线不卡网站| JIZZJIZZ日本护士水好多| 隔壁老王av无码精品线院| 亚洲黄视频在线观看| 男人ji进入女人鸡免费视频| 在线观看免费a∨网站| 中文字幕在线一区二区| 亚洲色久精品久久| gay18小鲜肉| 108种啪姿势大全动态图| 女同俱乐部变态调教| 精品国产一级久久A片性教育片| 疯狂舔女人下面69互添| jizz在线观看免费高清| 老师xxxx69动漫|