linux shell的中級教程

2021-07-31 21:33:19 字數 1054 閱讀 9765

1、變數

linux中的變數分為兩類,使用者(環境)變數和臨時(本地)變數。環境變數存在於所有shell中。本地變數存在於當前shell中,所以本地變數中一定有環境變數。注意是shell不是使用者,所以如果乙個使用者開啟了多個shell,它們之間的非環境變數的本地變數是不能共享的。

(1)環境變數的設定過程如下

每一次使用者登入時/etc/profile檔案被讀取,設定變數

然後讀取使用者空間相同功能的檔案 ~/.bash_profile

使用者每一次新開啟shell時,/etc/bashrc,設定變數

然後讀取使用者空間的檔案~/.bashrc 事實上,在使用者推出系統時,還會讀取並執行~/.bash_logout 注意,如果向永遠修改環境變數,只能在上述檔案中修改。重新登陸(根目錄下檔案)或者重新開啟shell(使用者目錄下才會)才會生效,如果想要立即生效,請輸入source使該檔案立即生效

(2)環境變數的檢視方法如下

set 檢視所有本地變數

env 檢視所有環境變數

export 檢視所有匯出為環境變數的本地變數

export 檢視所有匯出為環境變數的本地變數

(3)設定環境變數

set var=value 設定本地臨時變數(不是環境變數)

export var=value 設定環境變數,注意,該環境變數儲存在記憶體中,只為該session保留,也就是說,如果你新建乙個終端,必然不會存在

上述兩著的區別就是,第一種不能被子shell所繼承(注意不是共享,指示繼承),而第二種可以。 這裡簡單介紹以下子shell的概念,當shell執行某乙個指令碼時,系統便自動建立了了乙個子shell。子shell用於父shell所有環境變數的拷貝。

2、管道

最常用的是 | 管道。

ls

|grep -v "cat1"

#grep的-v引數表示過濾掉包含該字串的結果,輸出不包含該字串的結果

再講一下xargs命令,之所以用到這個命令,關鍵是很多命令不支援 | 管道進行傳遞。xargs讀入stdin的輸入,並通過空白和斷行來講標準輸入分割為若干個arguments。

C 中級教程 屬性

我們習慣上把字段設定為私有的,這樣外界不能修改欄位的值,然後我們可以通過定義屬性來設定和取得欄位中的值。這就是屬性存在的意義,為外界讀取和改變量值提供乙個介面 private int age public int age get 屬性主要是為字段服務 屬性的定義結構 public int myint...

Linux shell 教程 00 入門

shell 是乙個用 c 語言編寫的程式,它是使用者使用 linux 的橋梁。shell 既是一種命令語言,又是一種程式語言。shell 指令碼 shell script 是一種為 shell 編寫的指令碼程式。bin bash echo hello world 是乙個約定的標記,它告訴系統這個指令...

中級Shader教程16 水渲染

layout post title 中級shader教程16 水渲染 date 2018 04 23 16 09 03 author jiepeng tan categories 1.noise和fbm請參考這篇文章中給出的鏈結 2.ranymarching 框架 1.基本形狀構造 這裡利用了noi...