close

書-Linux命令行與shell腳本編程大全(第3版)

我會把使用者名稱遮住,因為要保護個人隱私(・ω・)v

●指令-alias

○環境變數(environment variable)

●環境變數-全局變數

○環境變數-局部變數

●自定義變數

○指令-unset

●指令-export

○環境變數-PATH

 

指令-alias

好處:當指令很長你不想要打,可以自定義指令,但是自己要記得阿。

$alias -p      //查看目前自定義指令

image

$alias h='history' //定義指令

image

image

 

環境變數(environment variable)

儲存有關shell的訊息,以方便shell能夠很輕易地去使用,是長久儲存訊息的方式。

有分兩種:

1. 全局變數

2. 局部變數

環境變數-全局變數

字面上的意思,不管是子shell都有效,通常使用'全大寫'。

$printenv 

image

$env

image

如果要個別顯示盡量使用'printenv',另外登入的方式也會影響環境變數

$printenv HOME

image

$env HOME

image

環境變數-局部變數

目前沒有只顯示局部變數指令

$set    //顯示所有變數量(全局、局部、自定義)

image

自定義變數

$I_love=you //可以是字串或數字

$echo $I_love

image

 

$you_love="me ?"  //只要有空格的就要用'雙引號'括起來

$echo $you_love

image

注意:只有全局變數才會使用大寫,其他一律使用小寫,以免造成不必要的麻煩。

自定義的變數只有在此shell中才有效,到其他子shell就沒用了。

image

指令-export

就是把自定義變數變成全局變數。

$my=hello

$export my

$echo $my

$bash

$echo $my

image

但自子shell跟改此全局變數並不會直接更改到父shell的全局變數。

$my=world

$echo $my

$exit

$echo $my

image

指令-unset

刪除環境變數,記住要刪請在父shell中,因為在子shell中無法去動到父shell的。

$unset my  //不要加$號

$echo $my

image

環境變數-PATH

剛學的時候有看到這個,但是完全不知道這個的功用,原來是我們打'外部指令'所搜尋的位置,這樣就不用用絕對路徑。

$echo $PATH

image

教你怎麼用。

$mkdir abc

$vim a (案'i'輸入,esc離開之後案':'輸入'wq')

$#!/bin/bash   //那個藍色根本看不到阿

$ls

$exit 0

image

$PATH=$PATH:/home/xxxx/abc   //你創在那裡就用哪裡,用pwd確認位置

image

$sudo chmod 777 a   //有可能有權限,沒有就不用這行

$a  //就可以直接執行

image

 

但是只要關機或關掉CIL就會不見,所以下面有如何永久的設定。

下集待續

 

 

arrow
arrow
    創作者介紹
    創作者 讀書小天地 的頭像
    讀書小天地

    書籍分享天地

    讀書小天地 發表在 痞客邦 留言(0) 人氣()