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地址,不用手动去拼了。