一.Shell之變數/系統變數
-
變數賦值
shell中變數無需宣告,出現空格需要加“,命名與c語言一致,只支援整型和字元型。
var=value${ var=value}
一個栗子用於區分不同:
$ cat shelldemo.sh #!/bin/bash echo ${var0="world"} var=hello echo var echo $var echo ${var="hello world"} echo $var $ ./shelldemo.sh world var hello hello hello
- unset 清空變數
unset [變數名]
-
其它賦值模式
除=之外,還可用+、?、:?、:=、:-來賦值,通過以下栗子說明區別。
$ echo $var $ echo ${var?value} bash: var: value $ echo ${var:?value} bash: var: value $ echo ${var:=value} value $ echo ${var:=change?} value $ unset var $ echo ${var:-value} value $ echo $var $ echo ${novar+value}
一些常見系統變數
1.PWD和OLDPWD
$ echo $PWD /home/jin1ming/linux_shell $ echo $OLDPWD /home/jin1ming
2.PATH
$ echo $PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/local/go/bin
3.HOME
$ echo $HOME /home/jin1ming
4.SHELL
$ echo $SHELL /bin/bash
5.USER與UID
$ echo $USER jin1ming $ echo $UID 1000
6.PPID(父程序號)
$ echo $PPID 7071
7.$$(當前程序號)
$ echo $$ 8695
8.PS1,PS2(命令提示變數)
#我在其它地方省略了一級命令提示符 [jin1ming@ML linux_shell]$ echo $PS1 \[\033[01;32m\][\u@\h\[\033[01;37m\] \W\[\033[01;32m\]]\$\[\033[00m\] [jin1ming@ML linux_shell]$ echo $PS2 >
9.IFS(域分隔符)
預設為空格
$ echo $IFS