新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一篇對大家學(xué)習(xí),理解linux很有用的文章

一篇對大家學(xué)習(xí),理解linux很有用的文章

作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

$ set –o noglob

$ ls answer?

answer?

子shell與export命令

用戶登錄到Linux系統(tǒng)后,系統(tǒng)將啟動一個(gè)用戶shell。在這個(gè)shell中,可以使用shell命令或聲明變量,也可以創(chuàng)建并運(yùn)行shell腳本程序。運(yùn)行shell腳本程序時(shí),系統(tǒng)將創(chuàng)建一個(gè)子shell。此時(shí),系統(tǒng)中將有兩個(gè)shell,一個(gè)是登錄時(shí)系統(tǒng)啟動的shell,另一個(gè)是系統(tǒng)為運(yùn)行腳本程序創(chuàng)建的shell。當(dāng)一個(gè)腳本程序運(yùn)行完畢,它的腳本shell將終止,可以返回到執(zhí)行該腳本之前的shell。從這種意義上來說,用戶可以有許多shell,每個(gè)shell都是由某個(gè)shell(稱為父shell)派生的。

在子shell中定義的變量只在該子shell內(nèi)有效。如果在一個(gè)shell腳本程序中定義了一個(gè)變量,當(dāng)該腳本程序運(yùn)行時(shí),這個(gè)定義的變量只是該腳本程序內(nèi)的一個(gè)局部變量,其他的shell不能引用它,要使某個(gè)變量的值可以在其他shell中被改變,可以使用export命令對已定義的變量進(jìn)行輸出。export命令將使系統(tǒng)在創(chuàng)建每一個(gè)新的shell時(shí)定義這個(gè)變量的一個(gè)拷貝。這個(gè)過程稱之為變量輸出。

[例]在本例中,變量myfile是在dispfile腳本程序中定義的。然后用export命令將變量myfile輸出至任何子shell,例如當(dāng)執(zhí)行printfile腳本程序時(shí)產(chǎn)生的子shell。

dispfile腳本程序清單:

/**************begin dispfile**************/

myfile=”List”

export myfile

echo “Displaying $myfile”

pr –t –n $myfile

printfile

/**************end dispfile***************/

printfile腳本程序清單:

/**************begin printfile**************/

echo “Printing $myfile”

lpr $myfile

/**************end printfile**************/

$dispfile

Displaying List

1 screen

2 modem

3 paper

Printing List

$

定制Bash

在本節(jié)中已經(jīng)介紹了很多定制Bash的方法,但是迄今為止,這些方法都只是對當(dāng)前Bash對話有用。只要用戶退出登錄,所做的一切改變都會丟失。所以應(yīng)該在Bash的初始化文件中做永久性的修改。

用戶可以將每次啟動Bash所需要執(zhí)行的命令放入初始化文件中,最常見的命令就是alias命令和變量定義兩種。系統(tǒng)中的每個(gè)用戶在其主目錄中都有一個(gè).bash_profile文件,Bash每次啟動時(shí)都將讀取該文件,其中包含的所有命令都將被執(zhí)行。

下面便是默認(rèn).bash_profile文件的代碼:

#.bash_profile

#Get the aliases and functions

if [-f ~/.bashrc ];then

.~/.bashrc

fi

#User specific environment and startup programs

PATH=$PATH:$HOME/bin

ENV=$HOME/.bashrc

USERNAME=””

Export USERNAME ENV PATH


上一頁 1 2 3 4 5 6 7 下一頁

關(guān)鍵詞: 學(xué)習(xí) linux

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉