SHELL:shell
在計算機科學中,Shell俗稱殼(用來區別於核),是指「提供使用者使用界面」的軟件(命令解析器)。它相似於DOS下的command和後來的cmd.exe。它接收用戶命令,而後調用相應的應用程序。bash
同時它又是一種程序設計語言。做爲命令語言,它交互式解釋和執行用戶輸入的命令或者自動地解釋和執行預先設定好的一連串的命令;做爲程序設計語言,它定義了各類變量和參數,並提供了許多在高級語言中才具備的控制結構,包括循環和分支。spa
SHELL在執行命令時,會到環境變量中設置的路徑中查找相應的程序來執行。操作系統
Linux中環境變量包括系統級和用戶級,系統級的環境變量是每一個登陸到系統的用戶都要讀取的系統變量,而用戶級的環境變量則是該用戶使用系統時加載的環境變量。
因此管理環境變量的文件也分爲系統級和用戶級的,下面貼一個網上找到的講的比較明白的文件介紹(略做修改)[1]:
1.系統級:
(1)/etc/profile:該文件是用戶登陸時,操做系統定製用戶環境時使用的第一個文件,應用於登陸到系統的每個用戶。該文件通常是調用/etc/bash.bashrc文件。
/etc/bash.bashrc:系統級的bashrc文件。
(2)/etc/environment:在登陸時操做系統使用的第二個文件,系統在讀取你本身的profile前,設置環境文件的環境變量。
2.用戶級(這些文件處於家目錄下):
(1)~/.profile:每一個用戶均可使用該文件輸入專用於本身使用的shell信息,當用戶登陸時,該文件僅僅執行一次!默認狀況下,他設置一些環境變量,執行用戶的.bashrc文件。這裏是推薦放置我的設置的地方
(2)~/.bashrc:該文件包含專用於你的bash shell的bash信息,當登陸時以及每次打開新的shell時,該該文件被讀取。不推薦放到這兒,由於每開一個shell,這個文件會讀取一次,效率確定有影響。
~/.bash_profile or ~./bash_login設計
用法:有些程序咱們但願在任何路徑下使用,而每次都要輸入絕對路徑很麻煩,因此能夠在環境變量中添加一個目錄,而後把要運行的程序放到這個目錄中。code
如:實現一個在任何目錄,輸入FTP + filename 就能夠獲得ftp的地址。htm
在~/.bash_profile 加入:blog
PATH=$PATH:$HOME/binget
而後再$HOME/bin 目錄下編寫腳本cmd
vi FTP
#!/bin/bash file=$1 host=$(hostname) file_real_path=$(readlink -f .) echo "ftp://$host:$file_real_path/$file"
chmod +x FTP
而後在任何位置輸入FTP + filename就能夠獲得ftp地址,不用手動去拼了。