shell入門教程(1)-shell基礎 - justkk的專欄 - 部落格頻道 - csdn.net
shell入門教程(2)-變數和引數 - justkk的專欄 - 部落格頻道 - csdn.net
shell入門教程(3)-命令編輯 - justkk的專欄 - 部落格頻道 - csdn.net
shell入門教程(4)-作業控制 - justkk的專欄 - 部落格頻道 - csdn.net
shell入門教程(5)-算術運算 - justkk的專欄 - 部落格頻道 - csdn.net
shell入門教程(6)-環境 - justkk的專欄 - 部落格頻道 - csdn.net
shell入門教程(7)-編寫指令碼 - justkk的專欄 - 部落格頻道 - csdn.net
1、登入之後
使用者登入時,
shell
在顯示命令提示符之前還有一些動作。 執行
/etc
/profile
,這是整個系統範圍的環境檔案,每個使用者登入時都會執行。
執行使用者的
.bash_profile
,位於使用者的
home
目錄下。這是使用者自己的環境檔案,用以設定一些個性化引數。
2、環境檔案
乙個特殊的環境變數,
bash_env
,定義乙個環境檔案。 每次
shell
執行乙個指令碼時,都會首先執行這個環境檔案。
簡單演示一下,其中每行前面的
#表示命令提示符。
# cat 0.sh
檢視指令碼檔案
0.sh
的內容,簡單的輸出乙個資訊
echo "hi"
# ./0.sh
執行並檢視輸出 hi
# export bash_env=0.sh
定義環境檔案
# ./0.sh
再次執行,並檢視輸出 hi
hi執行其他的任何乙個指令碼,都會首先執行環境檔案
0.sh。
3、環境變數
shell
包含很多預定義的環境變數,你可以用來定製自己的工作環境。 •
path
命令的查詢路徑,包含冒號分隔的一組目錄列表
使用者輸入一條命令時,如果沒有明確指定命令的路徑,
shell
將依次在
path
指定的各個目錄中搜尋,直到找到對應的命令為止。
如果多個路徑下包含同名的檔案,將使用第乙個找到的命令檔案,並跳出查詢過程;
如果所有指定的路徑下都沒有找到這個命令檔案,
shell
將報錯:
command not found... •
ps1
命令列提示符
還有其他一些常用的環境變數,不再一一枚舉。
4、shell選項
shell
有一組選項,可以調整其行為方式。 •
noglob
-- 禁止檔名稱擴充套件,預設是關閉狀態
set -o
noglob
禁止檔名稱擴充套件,萬用字元將失去其特殊含義,僅僅表示字元本身,如
$ ? *
set +o
noglob
啟用檔名稱擴充套件
選項前面使用
-表示開啟相應的功能,使用
+表示關閉對應的功能。
上面兩個命令分別等價於
set -f
與 set +f •
vi --
使用 vi
• 檢視所有選項的當前狀態
set -o
5、別名
別名是乙個命令的另乙個等價名字,示例:
alias
aa="
ls-f"
說明: 1
、如果使用單引號,那麼別名將在每次使用時重新擴充套件,這在別名的定義包含變數時有用,如:
alias p='
ls$d'
之後變數
d 的取值將影響別名
p的執行行為。 2
、如果別名的定義以空白結尾,那麼執行時將檢查其引數是否是別名,並相應擴充套件。
alias p='echo ' h=hello # 同時定義兩個別名,注意別名
p的字母
o後面有乙個空格
p h # 此時會輸出
hello •
顯示所有的別名,
alias •
刪除別名,使用
unalias
命令,如
unaliash
• 不解釋別名
引用別名時,使用單引號包含別名,
shell
將不解釋別名,僅僅作為其原始含義。如:
'p' # 此時
shell
嘗試執行p本身
6、命令列提示符
命令列提示符也是通過預定義的環境變數定義的,常用的有
ps1與
ps2。
ps1
是主要的命令列提示符,
shell
等待使用者輸入命令時顯示
ps1的值;
ps2
是次要的命令列提示符,
shell
需要更多輸入時顯示
ps2的值,如命令續行。預設值是
>;
可以嘗試改變
ps1與
ps2看看效果。
7、子shell
下述情況將產生乙個子
shell
:使用()
包裹一組命令、執行命令替換、後台程序。 子
shell
是當前shell
轉殖的乙個副本,當前
shell
中的變數可以在子
shell
中使用,而子
shell
對變數的修改不會影響當前
shell
,示例:
a=3(echo $a; a=4) # 子
shell
中會看到
3,並更改為4
echo $a # 子
shell
結束,在當前
shell
中檢視,仍然是3
8、巢狀
shell 與子
shell
類似,巢狀執行乙個
shell
,在新的
shell
中的修改同樣不會影響之前的
shell。
bash # 執行乙個新的
shell
a=4 # 修改變數
exit # 退出新的
shell
,回到之前的
shell
echo $a # 仍然是3
另外注意,與子
shell
有所不同,當前
shell
中的普通變數不能在新的
shell
中使用。
a=3 # 定義變數a
bash # 執行乙個新的
shell
echo $a # 新的
shell
中,看不到3
exit
此時需要當前
shell
匯出為環境變數
,即:
export a=3 # 當前
shell
中定義變數
a,並匯出為環境變數
重複上面的驗證過程,並檢視結果。
這個特性可以用來保留工作現場:開啟乙個新的
shell
,執行一組操作之後退出,一切煙消雲散..
Shell入門知識3 環境變數
基本語法 export 變數名 變數值 將shell變數輸出為環境變數 source 配置檔案 讓修改後的配置資訊立即生效 echo 變數名 查詢環境變數的值 快速入門 1 在 etc profile檔案中定義tomcat home環境變數 vim etc profile 在檔案末尾追加 tomca...
HTML入門教程6
總結 div 標籤定義 html 文件中的乙個分隔區塊或者乙個區域部分。div 標籤常用於組合塊級元素,以便通過 css 來對這些元素進行格式化。margin 10px 5px 15px margin 10px 5px margin 10px 屬性值值 描述auto 瀏覽器計算外邊距。length ...
nodejs入門1 環境
安裝完成後,可以從開始選單中nodejs看到,如下 點開node.js command prompt選項即可。可能第一次使用命令列的使用者會擔心環境變數問題,莫擔心,因為msi會把環境變數幫你配置好 ok,來開始前端程式設計的第乙個例子吧 hello world 用txt文字編寫乙個hellowor...