bash Shell內置變量命令
bash Shell包含一些內置命令。這些內置命令在目錄列表里是看不見的,它們由Shell本身提供。常用的內部命令有:echo、eval、exec、export、read、shift。下面簡單介紹幾個最常用的內置命令的格式和功能
1.echo在屏幕上輸出信息
命令格式:echo args #<==可以是字符串和變量的組合。功能說明:將echo命令后面args指定的字符串及變量等顯示到標准輸出。
echo參數選項 | 說明 |
---|---|
-n | 不換行輸出內容 |
-e | 解析轉義字符 |
轉義字符 | \n -- 換行 \r -- 回車 \t -- 制表符(tab) \b -- 退格 \v -- 縱向制表符 |
- echo的參數應用實例:
[root@zabbix ~]# echo oldboy;echo oldgirl
oldboy
oldgirl
[root@zabbix ~]# echo -n oldboy;echo oldgirl
oldboyoldgirl -- -n參數不換行輸出
[root@zabbix ~]# echo "oldboy\toldgirl\noldboy\toldgirl"
oldboy\toldgirl\noldboy\toldgirl -- 沒有-e參數,不能解析轉義字符
[root@zabbix ~]# echo -e "oldboy\toldgirl\noldboy\toldgirl"
oldboy oldgirl
oldboy oldgirl -- -e參數解析轉義字符
[root@zabbix ~]# printf "oldboy\toldgirl\noldboy\toldgirl\n"
oldboy oldgirl
oldboy oldgirl -- echo -e 等價於printf
2.eval
命令格式:eval args
功能:當Shell程序執行到eval語句時,Shell讀入參數args,並將它們組合成一個新的命令,然后執行。
- set和eval命令的使用(含特殊位置變量用法)方法
[root@zabbix ~]# cat eval.sh
echo $1 $2 -- 打印輸出第一第二個參數
echo $# -- 打印輸出參數個數
eval "echo \$$#" -- 二次解析"echo $2"為一個命令,輸出結果
[root@zabbix ~]# sh eval.sh arg1 arg2
arg1 arg2
2
arg2
3.exec
命令格式:exec命令參數
功能:exec命令能夠在不創建新的子進程的前提下,轉去執行指定的命令,當指定的命令執行完畢后,該進程(也就是最初的Shell)就終止了,示例如下:
[root@zabbix ~]# seq 5 > /tmp/tmp.log
[root@zabbix ~]# cat exec.sh
exec < /tmp/tmp.log -- 讀取log內容
while read line --利用read一行行讀取
do
echo "this is the $line line." -- 打印輸出
done
echo ok
[root@zabbix ~]# sh exec.sh
this is the 1 line.
this is the 2 line.
this is the 3 line.
this is the 4 line.
this is the 5 line.
ok
[root@zabbix ~]#
4. read
待補充
5.shift
待補充