1. 程式人生 > >【Shell Basic】source . 與 bash sh 的區別

【Shell Basic】source . 與 bash sh 的區別

一、在命令列視窗執行shell指令碼時,source .所執行的指令碼中,變數的作用域在當前shell視窗期,而bash、sh在shell指令碼執行完了就失效了。

[email protected]:~$ cat test.sh 
user='pwd'   當前的指令碼內容
[email protected]:~$ bash test.sh  用bash執行
[email protected]:~$ echo $user  結果為空
[email protected]:~$ . test.sh  用 source 或 執行
[email protected]
:~$ echo $user 結果為pwd pwd
二、執行一個指令碼沒有執行許可權的指令碼
1. 用 bash、sh
2. source 、.

3. chmod u+x test.sh 然後就可以用 絕對路徑或相對路徑執行此指令碼

[[email protected] ~]# cat testSource.sh 檢視此指令碼內容
user='last'
[[email protected] ~]# unset user 清除變數值
[[email protected] ~]# echo $user 輸出為空

[[email protected] ~]# source testSource.sh 執行賦值操作 
[
[email protected]
~]# echo $user 輸出變數值為last last [[email protected] ~]# unset user 清除變數值 [[email protected] ~]# echo $user 輸出為空 [[email protected] ~]#


相關推薦

Shell Basicsource . bash sh區別

一、在命令列視窗執行shell指令碼時,source .所執行的指令碼中,變數的作用域在當前shell視窗期,而bash、sh在shell指令碼執行完了就失效了。 [email protected]:~$ cat test.sh user='pwd' 當前

JAVA面試intInteger的區別

1.Integer是int的包裝類是引用型別,int是Java的基本資料型別。 2.Integer實際是對物件的引用,當new Integer時相當於指向堆內新建的Integer物件。而int則是直接儲存數值。 3.Integer的預設值是null,int的預設值是0  

計算機網路CookieSession的區別

                                    Cookie與Session的區別 Cookie與Session是網路上儲存資料的兩種機制,理解這兩種方式的區別對我們提高網站執行的效率十分重要。 網站利用這兩種技術,來知道我們的登入保持狀態。比如說

linux csizeofstrlen的區別簡述_學習筆記_008

通過一個簡單的程式來了解sizeof和strlen的用法,以及和二者的區別。#include <stdio.h> #include <string.h> void size(

python入門arange()range()的區別

range(start, end, step),返回一個list物件也就是range.object,起始值為start,終止值為end,但不含終止值,步長為step。只能建立int型list。 arange(start, end, step),與range()類似,也不含

WEB前端COOKIESSESSION的區別

寫在前面的    對WEB前端的知識回顧的當中,覺得COOKIES和SEESION的應用層面有些相似,但是具體怎樣卻不是很清楚,下面就來總結一下這兩個東西的共同點和區別,幫助自己能夠更好的掌握這些基礎

計網HTTPWebSocket的區別

WebSocket協議 1.定義 Websocket是html5提出的一個協議規範(2011年),參考rfc6455。 websocket約定了一個通訊的規範,通過一個握手的機制,客戶端(瀏覽器)和伺服器(webserver)之間能建立一個類似tcp的連線

Mac終端 root普通使用者切換(root/bash-3.2/sh-3.2/MacBook-Pro區別

1.普通使用者->rootmac開啟終端預設是當前登入使用者,若要切換到root使用者,使用命令:第一種:(1)輸入 sudo -i 或者 su - 活著 su - root 然後回車            (2)輸入密碼,就可以進入root使用者(如果不知道root密

Java基礎RTTI反射之Java

start auth try dword star sse from tac sed 1 ; Example assembly language program -- 2 ; Author: Karllen 3 ; Date: revised 05/2014

tomcatLinux環境安裝啟動

log 下載 linux環境 測試 $path rtu apache startup pro 一、安裝 1、下載tomcat安裝包 2、解壓安裝包 3、配置環境變量 打開~/.bash_profile文件,輸入一下兩句話: export TOMCAT_HOME=/User

最小樹形圖(奇怪的kruskal)SCOI 2012bzoj 2753滑雪時間膠囊

方案 track solved views end cmp ren scoi2012 ext 2753: [SCOI2012]滑雪與時間膠囊 Time Limit: 50 Sec Memory Limit: 128 MB Submit: 1621

幹貨HtmlCSS入門學習筆記12-14

進度條 tom step char number 視頻容器 復選框 其中 私有 十二、HTML5標記 現代HTML html5新增的元素:header nav footer aside section article time 這些新增元素使頁面結構更清晰,取代<di

持久化框架MybatisHibernate的詳細對比

很大的 效率 myba 今天 http 目的 ping pin 增刪 作為一位優秀的程序員,只知道一種ORM框架是遠遠不夠的。在開發項目之前,架構的技術選型對於項目是否成功起到至關重要的作用。我們不僅要了解同類型框架的原理以及技術實現,還要深入的理解各自的優缺點,以便我們能

轉載CreateThread_beginthreadex本質區別

wmi ted 函數返回值 rar turn 問題 初始化 控制 switch 轉載文章,原文地址:http://blog.csdn.net/morewindows/article/details/7421759 本文將帶領你與多線程作第一次親密接觸,並深入分析Cr

深入JAVARTTI反射

為什麽 觸發 UC 上下 ron keyword open 基本上 public 有Java中,我們如何在運行時識別類和對象的信息?有兩種方法,一是傳統的RTTI,另一種是反射。 1.RTTI Run-Time Type Infomation 運行時類型信息 為什麽需要RT

實驗5對象3

叠代器 代碼 getline 。。 頭文件 ... 交換 使用 希望 1、實驗內容1 #include <iostream> #include <vector> #include <string> using namespace

哈希兔子兔子

pac return 小寫 amp color 外星生物 namespace 森林 efi 題目描述 很久很久以前,森林裏住著一群兔子。有一天,兔子們想要研究自己的 DNA 序列。我們首先選取一個好長好長的 DNA 序列(小兔子是外星生物,DNA 序列可能包含 26 個小寫

香港記事 路不拾遺失物處理

而是 shadow ffffff 真的是 led blog 附近 我不 RoCE https://hk.news.appledaily.com/local/daily/article/20170123/19906005 最近我也遇到跟新聞主題類似的情況,不過我的處理手法跟

轉載DOMContentLoadedload的區別

頭部 布局 chrome 顯示 err event scrip rom 資源文件 (1)在chrome瀏覽器的開發過程中,我們會看到network面板中有這兩個數值,分別對應網 絡請求上的標誌線,這兩個時間數值分別代表什麽? (2)我們一再強調將css放在頭部,將

小家JavaFutureFutureTask的區別聯絡

相關閱讀 【小家java】java5新特性(簡述十大新特性) 重要一躍 【小家java】java6新特性(簡述十大新特性) 雞肋升級 【小家java】java7新特性(簡述八大新特性) 不溫不火 【小家java】java8新特性(簡述十大新特性) 飽受讚譽 【小家java】java9