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

3.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 引數個數 $

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

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

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

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

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命令

pycharm中指令碼執行3種模式(unittest框架pytest框架普通模式)

背景知識,某次使用HTMLTestRunner的時候,發現一直都無法匯出報告,後來查詢資料發現了一些坑,現在整理一下來龍去脈。 一:pycharm預設的是pytest框架去執行unittest框架的測試用例 import unittest class AlienTest(unitte

[Swift4.2互動教程]八實用進階-(3)閉包在定時任務動畫和執行緒中的使用

閉包的使用相當廣泛,它是可以在程式碼中被傳遞和引用的具有獨立功能的模組。雙擊開啟之前建立的空白專案。本文將演示閉包在定時任務、動畫和執行緒中的使用。在左側的專案導航區,開啟檢視控制器的程式碼檔案:ViewController.swift 一、閉包在定時器中的用法 1 import UIKit

python unittest單元測試框架-3用例執行順序多級目錄用例類別

1.用例執行順序 unittest預設會按照ascii碼的順序,依次執行。類名——方法名排序,使用discover也是預設排序。如果不想使用預設排序,就使用testsuite測試集的方式。 import unittest class TestB(unittest.TestCase): def se

java的執行建立執行緒的 3 種方式靜態代理模式Lambda表示式簡化執行

# 0、介紹 **執行緒**:多個任務同時進行,看似多工同時進行,但實際上一個時間點上我們大腦還是隻在做一件事情。程式也是如此,除非多核cpu,不然一個cpu裡,在一個時間點裡還是隻在做一件事,不過速度很快的切換,造成同時進行的錯覺。 **多執行緒**: 方法間呼叫:普通方法呼叫,從哪裡來到哪裡

js常見知識點3.面向對象之繼承設計模式

環境 設計 方法 nbsp -- div 細節 外部 接口實現 一、面向對象的三大特征   建議回復:    封裝:屏蔽內部細節、調用外部接口實現對應功能(函數調用)   繼承:子類繼承父類中的屬性和方法   多態(js中不存在多態的概念) 二、繼承   建議回復: 

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

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

關於數據庫優化3——在數據庫插入更新大量數據的性能優化

alt 這樣的 們的 比較 重新 操作 做了 定時任務 場景   在真實的業務場景中,我們肯定是遇到過有時候需要大批量的數據要進行入庫或者是更新。這時候我們在執行這種插入,或者是更新的時候肯定會遇到數據庫效率的問題,我們首先能想到的是讓事物盡量保持一致,統一去提交事務,這樣

Python進階(3)_進程與線程中的lock(互斥鎖遞歸鎖信號量)

fun 我們 bsp 控制 支持 發生 class 線程 數據操作 1、同步鎖 (Lock) 當各個線程需要訪問一個公共資源時,會出現數據紊亂 例如: 1 import threading,time 2 def sub(): 3 global num

[轉]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方法,也無法獲取

3netty粘包拆包(二)

list ride int 簡化 iter getclass null message som 上篇博客留了個尾巴“而且LineBasedFrameDecoder據說還有一種不要求攜帶結束符的解碼方式”,今天就從源碼來看看是怎麽回事。 一、基本原理 如果沒有netty,

css簡單實現五角星評分點贊收藏展示評分(半顆星1/3顆星)

效果 詳細講解 pad nic bsp img () 之前 技術分享 1.前言 之前做的好幾個項目中,都會遇到打分,評分,點贊這樣的需求,寫了很多次,每次需要再寫的時候,就會翻出之前寫過的代碼,然後copy過來。總覺得這樣的話沒有進步,沒有把知識放進腦袋裏,所以,自己花了2

1移動端 2後臺 3 移動端,Web 端 4 PC端

所有 style oid 平臺 公眾號 移動端 公眾 androi nbsp 移動端: 1、公眾號:停開心 住總物業 2、app: iso Android 停開心,住總停開心 後臺:停開心智慧停車管理平臺(所有的停車場) 移動端,Web端: 海投