1. 程式人生 > >source、sh、bash、./執行指令碼的區別

source、sh、bash、./執行指令碼的區別

1、source命令用法:

  source FileName

  作用:在當前bash環境下讀取並執行FileName中的命令。該filename檔案可以無"執行許可權"

    注:該命令通常用命令“.”來替代。

    如:source .bash_profile

        . .bash_profile兩者等效。

    source(或點)命令通常用於重新執行剛修改的初始化文件。

    source命令(從 C Shell 而來)是bash shell的內建命令。

    點命令,就是個點符號,(從Bourne Shell而來)。

2、sh和bash命令用法:

     sh FileName

     bash FileName

     作用:在當前bash環境下讀取並執行FileName中的命令。該filename檔案可以無"執行許可權"

     注:兩者在執行檔案時的不同,是分別用自己的shell來跑檔案。

   sh使用“-n”選項進行shell指令碼的語法檢查,使用“-x”選項實現shell指令碼逐條語句的跟蹤,

   可以巧妙地利用shell的內建變數增強“-x”選項的輸出資訊等。

3、./的命令用法:

     ./FileName

     作用:開啟一個子shell來讀取並執行FileName中命令。

     注:執行一個shell指令碼時會啟動另一個

命令直譯器.

         每個shell指令碼有效地執行在父shell(parent shell)的一個子程序裡.

            這個父shell是指在一個控制終端或在一個xterm視窗中給你命令指示符的程序.

         shell指令碼也可以啟動他自已的子程序.

            這些子shell(即子程序)使指令碼並行地,有效率地地同時執行指令碼內的多個子任務.

shell的嵌入命令:

: 空,永遠返回為true
.   從當前shell中執行操作
break 退出for、while、until或case語句
cd 改變到當前目錄
continue

執行迴圈的下一步
echo 反饋資訊到標準輸出
eval 讀取引數,執行結果命令
exec 執行命令,但不在當前shell
exit 退出當前shell
export 匯出變數,使當前shell可利用它
pwd 顯示當前目錄
read 從標準輸入讀取一行文字
readonly 使變數只讀
return 退出函式並帶有返回值
set 控制各種引數到標準輸出的顯示
shift 命令列引數向左偏移一個
test 評估條件表示式
times 顯示shell執行過程的使用者和系統時間
trap 當捕獲訊號時執行指定命令
ulimit 顯示或設定shell資源
umask 顯示或設定預設檔案建立模式
unset 從shell記憶體中刪除變數或函式
wait 等待直到子程序執行完畢

相關推薦

shell命令中用sourcesh(或者bash執行指令碼區別,以及export的作用

使用者登入到Linux系統後,系統將啟動一個使用者shell,我們暫且稱這個shell為shell父。 在這個shell父中,可以使用shell命令或宣告變數,也可以建立並執行shell指令碼程式。   當使用sh或者bash執行shell指令碼程式時,系統將建立一個子shell,我們暫且稱為

linux shell 語言基礎(3)shell 特殊位置變數sourceshbash./執行指令碼區別

一、shell 特殊位置變數 $0 檔名及路徑 $1~$n  新增到Shell的各引數值。$1是第1引數、$2是第2引數… $* 傳遞給指令碼的所有引數列表如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有引數。 $#新增到shell 引數個數 $

Linux shell指令碼執行方式:sourceshbash./執行指令碼區別

1、source命令用法:   source FileName   作用:在當前bash環境下讀取並執行FileName中的命令。該filename檔案可以無"執行許可權"     注:該命令通常用命令“.”來替代。     如:source .bash_prof

3.sourceshbash./執行指令碼區別

1、source命令用法:  source FileName   作用:在當前bash環境下讀取並執行FileName中的命令。該filename檔案可以無"執行許可權"     注:該命令通常用命令“.”來替代。     如:source .bash_profi

sourceshbash./執行指令碼區別

1、source命令用法:   source FileName   作用:在當前bash環境下讀取並執行FileName中的命令。該filename檔案可以無"執行許可權"     注:該命令通常用命令“.”來替代。     如:source .bash_profile         . .bas

linux 下sourceshbash./執行指令碼區別

1、source命令用法:   source  FileName   作用:在當前bash環境下讀取並執行FileName中的命令。該filename檔案可以無"執行許可權"   注:該命令通常用命令“.”來替代。   如:source .bash_profil

linux裏sourceshbash./有什麽區別

tar cat log 執行 blank 子shell 腳本 inux 什麽 https://www.cnblogs.com/pcat/p/5467188.html source . 這兩個是一樣的 。在當前shell運行腳本。腳本不需要 執行權限。 s

linux裡sourceshbash./有什麼區別

本文屬轉載內容:原文地址 在linux裡,source、sh、bash、./都可以執行shell script檔案,那它們有什麼不同嗎? source source a.sh 在當前shell內去讀取、執行a.sh,而a.sh不需要有"執行許可權" source命令

01: Shell概述 編寫及執行指令碼 Shell變數 總結和答疑

Top NSD SHELL DAY01 案例1:Shell基礎應用 案例2:簡單Shell指令碼的設計 案例3:使用Shell變數 案例4:變數的擴充套件應用 1 案例1:Shell基礎應用 1.1 問題 本案例要求熟悉Linux Shell環境

6批量執行指令碼入口excute_cases.py

新建一個excute_cases.py作為執行所有指令碼的入口。 # -*- coding:utf-8 -*- import HTMLTestRunner import unittest import os,time report_path = os.getcwd() + "\\test_r

bash指令碼程式設計-untilcontinuebreakwhile特殊用法for特殊用法

bash指令碼程式設計 while CONDITION; do 迴圈體 done 進入條件:CONDITION為true; 退出條件:false until CONDITION; do 迴圈體 done 進入條件:false 退出條件:true

BASHPERLPYTHONTCL之數字前端指令碼語言

最近由於工作的需要接觸了指令碼語言,現總結下來以供後面查詢,主要包括了基本的語法及函式與檔案的讀寫操作。本部落格內容來自或者部分來自以下網站Bash,Perl,Python3,Python3,Tcl。(特此宣告:由於Python不同版本之間語法具有差異,本部落格內容全部取自於Python3)

第5章 指令碼控制------------------------(以後臺模式執行指令碼nohup)

5.2以後臺模式執行指令碼          有時直接從命令列介面執行shell指令碼很不方便。有些指令碼需要很長的時間才能處理,不可能讓命令列介面等待太長時間。使用ps命令,可以檢視Linux系統上執行的程序。所有程序不在終端監視器上執行。這就是所謂的後臺執行程序。在後臺

十六週二次課 2018.02.05 shell指令碼介紹shell指令碼結構和執行date命令用法shell指令碼中的變數

20.1 shell指令碼介紹微信公眾號部落格,20.2 shell指令碼結構和執行建立目錄,然後我們進去在裡面寫指令碼第一行是他表示接下來的命令是通過這一個直譯器操作解析的的,通常都是/bin/bash(如果你是在本機上執行那麼不用寫也行,因為它知道接下來的命令能夠在這臺機

jenkins-2pipeline指令碼切換角色,執行指令碼等要點

demo pipeline指令碼 #!/usr/bin/env groovy pipeline{ agent any environment { REVISION = "0.0.${env.BUILD_ID}" } opti

(二)NS3如何編譯執行指令碼和 Command Line命令列引數設定

二、編譯、執行指令碼和Command Line命令列引數設定 7. 編譯和執行指令碼主要步驟 1) 將編寫的指令碼複製到ns-3.22/scratch目錄下(可以在ubuntu視窗介面直接複製) 進入ns3目錄: /ns-3.22 $ cp examples/tutori

JMeter學習—006—JMeter 命令列(非GUI模式)詳解(一)-分散式(遠端)執行指令碼及檢視指定結果日誌

JMeter分散式執行指令碼,以更好的達到預設的效能測試(併發)場景,前文解說了jmeter使用命令列執行各個引數的作用以及命令列使用範例,那麼此文就繼續前文,針對 JMeter 的命令列模式之分散式遠端執行模式進行詳細解說。一、應用場景 1、無需互動介面或受環境限制(l

finalstatic代碼塊靜態代碼塊內部類代碼執行順序

調用 logs 構造代碼塊 tro 而且 classes phi println tina final final域使得確保初始化安全性(initialization safety)成為可能,初始化安全性讓不可變形對象不需要同步就能自由地被訪問和共享 作用在類上

[轉]IE9.0或者360下js(JavaScriptjQuery)不能正確執行(加載),按F12後執行正常;Firefox下ajax的success返回數據data(jsonstring)無法獲取

cli onf string 不同 logs script blog 綁定 導入 兼容問題1: 頁面的分享等插件加載不全,並無法點擊。 兼容問題2: IE下頁面選擇器(#id、.class.etc.)綁定click事件無法訪問到,後臺springmvc方法,也無法獲取

Linux任務計劃周期性任務執行

linux任務計劃、周期性任務執行 crontab概論未來的某時間點執行一次某任務:at, batch 周期性運行某任務:crontab 執行結果:會通過郵件發送給用戶 查看郵箱服務是否開啟:(25端口) ~]# netstat -tnlp ~]# ss -tnl本地電子郵件服務:smtp:simple m