shell基礎知識(2)

8.6管道符、做業控制html

sleep 100 暫停100秒
sleep 100& 直接放在後臺暫停
 
 

8.7shell變量(上)
env系統內置變量
set不只能夠顯示系統預設的變量,也能夠連同用戶自定義的變量顯示出來
a=111
echo $a 顯示爲111
在linux下設置自定義變量有哪些規則
  1. 設定變量的格式爲 「a=b」, 其中a爲變量名,b爲變量的內容,等號兩邊不能有空格;
  2. 變量名只能由英、數字以及下劃線組成,並且不能以數字開頭;
  3. 當變量內容帶有特殊字符(如空格)時,須要加上單引號;
單引號不解析,是啥仍是啥(有空格啥的也帶)
雙引號裏面的變量就給解析了(自己有單引號就用雙引號)
反引號裏面加命令,不加變量
[root@localhost ~]# myname='Aming Li'
[root@localhost ~]# echo $myname Aming Li
有一種狀況,須要你注意,就是變量內容中自己帶有單引號,這就須要用到雙引號了。
[root@localhost ~]# myname="Aming's" [root@localhost ~]# echo $myname Aming's
  1. 若是變量內容中須要用到其餘命令運行結果則可使用反引號;
[root@localhost ~]# myname=`pwd` [root@localhost ~]# echo $myname /root
  1. 變量內容能夠累加其餘變量的內容,須要加雙引號;
[root@localhost ~]# myname="$LOGNAME"Aming [root@localhost ~]# echo $myname rootAming
在這裏若是你不當心把雙引號加錯爲單引號,將得不到你想要的結果
[root@localhost ~]# myname='$LOGNAME'Aming [root@localhost ~]# echo $myname $LOGNAMEAming

 


8.8shell變量(下)
w後看在哪一個bash下,使用echo $SSH_TTY查看
pstree 這個指令會把linux系統中全部進程經過樹形結構打印出來。exit退出當前shell終端。(能夠看全部用戶)
export其實就是聲明一下這個變量的意思,讓該shell的子shell也知道變量abc的值是123.若是export後面不加任何變量名,則它會聲明全部的變量。export不能在別的機器上顯示變量
unset 後跟變量名 取消變量
bash 命令,若是在當前shell中運行bash,則會進入一個新的shell,這個shell就是原來shell的子shell了。使用 bash 命令便可再打開一個shell,此時先前設置的 「aa=666」 變量已經不存在了,退出當前shell回到原來的shell, 「aa=666」 變量還在,這時候export aa=666,他的子shell就有了,那要想設置的變量一直生效怎麼辦?有兩種狀況:
1) 要想系統內全部用戶登陸後都能使用該變量
須要在 「/etc/profile」 文件最末行加入 export aa=666而後運行 source /etc/profile 就能夠生效了。此時再運行bash命令或者直接 su - test 帳戶能夠看到效果。
2)只想讓當前用戶使用該變量
須要在用戶主目錄下的 .bashrc 文件最後一行加入 export aa=666 而後運行 source .bashrc 就能夠生效了,這時候再登陸quyifan帳戶,aa=666變量則不會生效了。

 


8.9 環境變量配置文件
/etc/profile /etc/bashrc
~/.bashrc ~/.bash_profile ~/.bash_history
~/.bash_logout 定義退出時須要作的操做,好比刪除歷史命令history
ps1 -> /etc/bashrc 就是左邊名字這些東西
PS1='[\u@\h \W\]\$ ' -> PS1='[\u@\h \w]\$ '
-> PS1='<\u@\h \w>\$ '
在這裏多寫了一個\才一直出現錯誤哈哈


擴展
bashrc和bash_profile的區別 http://www.apelearn.com/bbs/thread-7719-1-1.htmllinux

相關文章
相關標籤/搜索