Linux “$” 的所有相關用法
一、默認命令提示符權限標誌位
非root用戶,例如:[user1@localhost myTestDir]$
如果是root用戶登錄,則爲#,例如:[root@localhost ~]#
注([ ] 中的部分):@前的user1、root爲登錄用戶名,@後的localhost爲主機名,最後的myTestDir、~等爲當前所在目錄的文件名
具體可以查看系統內置的環境變量PS1(echo $PS1),系統默認情況下結果爲[\u@\h \W]\$
- \u 表示當前用戶名
- \H 表示完整的主機名(\h 表示短主機名,默認)
- \w 表示完整路徑(\W 表示短路徑,默認)
- \$ 表示提示符(普通用戶顯示爲字符$, root 用戶顯示爲字符#)
- 除此之外,其餘的 [ 、@ 、] 和空格字符按原樣顯示
二、使用已聲明變量
例如:a=1
echo $a
注:要想將一個變量聲明爲指定類型,其語法爲:declare(或typeset) [-aixr] 變量名
參數:
- -a :聲明爲數組類型
- -i :聲明爲整型
- -x :聲明爲環境變量(功能與 export 相同)
- -r :聲明爲只讀類型,此變量聲明後不能更改內容,也不能撤銷
三、Shell腳本
- $$ 當前shell腳本運行時的pid(進程號)
- $* 所有向腳本傳遞的參數(字符串形式顯示)
- $@ 所有向腳本傳遞的參數列表(List形式)
- $n 向腳本傳遞的第n個參數
- $# 向腳本傳遞的參數個數
- $? 最後一條命令的退出狀態,0表示沒有錯誤,其他表示有錯誤
示例腳本(testfun.sh):
#!/bin/bash
funecho()
{
echo "This is funecho()"
echo "pid=$$"
echo "parastring=$*"
echo "paralist=$@"
echo "para0=$0"
echo "para1=$1"
echo "para2=$2"
echo "para3=$3"
echo "para4=$4"
echo "para5=$5"
echo "before_ret:para_num=$#"
echo "before_ret:return_value=$?"
return "$#"
}
echo "before_fun:para_num=$#"
echo "before_fun:return_value=$?"
echo "fun begin--------"
funecho p1 p2 p3 p4
echo "after_ret:para_num=$#"
echo "after_ret:return_value=$?"
echo "fun end--------"
echo "after_fun:para_num=$#"
echo "after_fun:return_value=$?"
運行:./testfun.sh
before_fun:para_num=0
before_fun:return_value=0
fun begin--------
This is funecho()
pid=1760
parastring=p1 p2 p3 p4
paralist=p1 p2 p3 p4
para0=./testfun.sh
para1=p1
para2=p2
para3=p3
para4=p4
para5=
before_ret:para_num=4
before_ret:return_value=0
after_ret:para_num=0
after_ret:return_value=0
fun end--------
after_fun:para_num=0
after_fun:return_value=0