UNIX系統管理:shell高級特性

來源:互聯網
上載者:User
關鍵字 UNIX系統管理 高級特性

完成這一章,你可以做到以下事情:

使用shell的替代功能,包括變數替代,命令替代,和波浪號替代。

設置和修改shell變數。

將區域變數傳給環境。

使變數對子進程生效。

解釋進程是如何被創建的。

7.0 shell 的替代功能

在shell 中有三種類型的替代:

變數替代

命令替代

波浪號替代

替代的作用是加速命令列的鍵入和執行

7.1 Shell 變數存儲

Shell內有兩塊記憶體區域用於存儲shell變數,它們是:局部資料區域和環境。 當定義了一個新的變數時,記憶體會被分配給局部資料區域,在這個區域中的變數是當前shell 私有的,通常稱為區域變數,任何以後的子進程都不會存取到這些區域變數。 但是,子進程能夠存取那些傳送到環境中去的變數。

在你的登錄進程過程中,有幾個特殊的shell變數會被定義。 其中大多數的變數存儲在環境中:一些變數,例如 ps1 和ps2,存儲在局部資料區域。 這些變數的值能夠被改變,用於定制你的終端特性。

env 命令能夠顯示當前保存在環境中所有的變數,例如:

$ env

MANPATH=/usr/share/man: /usr/contrib/man: /usr/local/man

PATH=/usr/bin: /usr/ccs/bin:/usr/contrib/bin: /usr/local/bin

LOGNAME=user3

ERASE=^H

SHELL=/usr/bin/sh

HOME=/home/user3

TERM=hpterm

PWD=/home/user3

TZ=PST8PDT

EDTOR=/usr/bin/vi

7.2 設置Shell變數

語法: HTTP://www.aliyun.com/zixun/aggregation/11696.html">name=value

例子:

$ color=lavender ?? ? ??????? 給一個區域變數賦值

$ count=3 ????????????? ? 給一個區域變數賦值

$ dir_name=tree/car.models/ford ?? 給一個區域變數賦值

$ PS1=hi_there?????????? ?? 更改環境變數的值

$ set ??????????? ????? 顯示所有的變數和值

當一個使用者創建了一個新的變數,例如 color ,這個變數會存儲在局部資料區域中。 當給一個已經存在的環境變數賦予一個新值,例如 path ,這個新值會代替環境中的舊的值。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.