bash

**** PS1[prompt[提示] string 1] 符號正則表達式

\$ 若是以root身份運行的話,就顯示爲#,不然就是$
 \w  工做目錄的路徑名
 \W  工做目錄的基名
 \!  當前事件(歷史)編號
 \d  按照「工做日/月/日期」格式顯示的日期
 \h  計算機的主機名,不包括域名
 \H  計算機全名,包括域名
 \u  當前用戶的用戶名
 \@  按照12小時制,AM/PM格式顯示的當前時間值
 \T  按照12小時制,HH:MM:SS格式顯示當前時間
 \A  按照24小時制,HH:MM格式顯示當前時間
 \t  按照24小時制,HH:MM:SS格式顯示當前時間
   
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*** bash關鍵字變量shell

BASH_ENV 用於非交互式shell的初始化文件的路徑名
CDPATH cd命令的搜索路徑
COLUMNS select命令使用的顯示寬度
FCEDIT fc默認使用的編輯器名稱
HISTFILE 保存歷史列表文件的路徑名(默認爲~/.bash_history)
HISTFILESIZE 保存在HISTFILE中的最大項數
HOME 用戶主目錄的路徑名,用做cd命令的默認參數或用在代字符(~)表達式中
IFS(internal field separator) 內部字段分隔符,用於分詞
INPUTRC readline 初始化文件的路徑名(默認爲~/.inputrc)
LANG 沒有用LC_*變量特別設置時的區域目錄
LC_* 指定了區域目錄,包括LC_COLLATE、LC_CTYPE、LC_MESSAGES和LC_NUMBERIC的一組變量,使用內置命令locale能夠顯示值的列表
LINES select使用的顯示高度
MAIL 保存用戶郵件的文件的路徑名
MAILCHECK 以秒爲單位定義了bash檢查郵件的頻率
MAILPATH bash檢查郵件文件的路徑名列表,名字之間用冒號隔開
PATH bash查找命令的目錄路徑名列表,名字之間用冒號隔開
PROMPT_COMMAND bash在顯示主提示符以前要執行的命令
PS1(prompt string 1) 提示符1,主提示符(默認爲 "\s-\v\$ ")
PS2(prompt string 2) 提示符2,主提示符(默認爲 "> ")
PS3 select 發出的提示符  
PS4 bash調試符
REPLY 保存read接受的行,還用於select
   
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

**** shell特殊字符vim

換行符 啓動命令執行
; 分隔字符
() 經過子shell,或者標示函數執行命令分組
& 在後臺執行命令
| 將前一個命令的輸出發送給其後面的命令(管道)
>  重定向標準輸出
>>  重定向標準輸出(在後面追加)
<  重定向標準輸入
<<  Here文檔
*  模糊文件引用中的0個或多個字符組成的串
?  模糊文件引用中任何單個字符
\  引用後面的字符
'  引用字符串,阻止全部替換
"  引用字符串,只容許變量替換和命令替換
`...`  執行命令替換
[] 字符範圍。用做正則表達式的一部分,描述一個匹配的字符範圍。做爲test用途的中括號內不能使用正則。好比:[0-9]、[a-z]等
$  引用某個變量
.(內置句點 source)  執行命令(只在行首)
#  開始一行註釋
{}  用來封裝函數體
:()  返回true
&&  與
||  或
!  非
$()【tcsh中沒有】  執行命令替換(優先形式)
[]  計算算術表達式的值
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

here文檔

Here文檔是一種具備特殊功能的代碼塊,是I/O重定向的一種特例。Here文檔採用I/O重定向的方法,把一系列須要從鍵盤輸入的命令,模擬人工輸入的方式,一行一行地交給交互式應用程序或命令。其具體的語法格式以下:bash

     program<<limitstring編輯器

     command1函數

     command2.net

     command3調試

     .......blog

 

     commandN事件

    limitString

其中,特殊的I/O重定向符號「<<」與「LimitString 」是here文檔的開始,單獨另起一行的第二個Limitstring 表示here文檔的結束。

下面的例子說明怎樣利用here文檔運行vim編輯器,模擬vim編輯器的交互過程,輸入「i」命令和ESC鍵,插入兩行數據,最後把編輯器的數據內容寫入特定的文件。

#!/bin/bash             // emnvim

if [ -z "$1" ]

then

      echo "Usage :`basename $0` filename"

      exit 1

fi

vim $1<<EOF

i

I cannot choose the best.

the best choosr me.

^[

zz

EOF

exit 0

使用下列命令運行shell 腳本時,便可獲得一個自動編輯的文本文件

$emnvim fname

$cat fname

I cannot choose the best.

the best choose me.

注意:here文檔要求其中的輸入數據,尤爲是做爲結束標誌的字符串分界符"LimitString"必須位於單獨另起一行的起始位置。

相關文章
相關標籤/搜索