shell內置變量命令:echo、eval、exec、export、read、shift


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

待補充



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM