source, export, which 命令学习

参考: http://blog.csdn.net/wangyangkobe/article/details/6595143

1. source命令

source filename 与 sh filename 及./filename执行脚本的区别在那里呢?
1.当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别得。./filename是因为当前目录没有在PATH中,所有"."是用来表示当前目录的。
2.sh filename 重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。
3.source filename:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。立即生效脚本,不需要重启生效。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。

2. export命令

功能说明:设置或显示环境变量。当前的bash登录session有效

e.g. export PYTHONPATH=/tmp

参考三种更改环境变量的办法:

http://www.2cto.com/os/201306/222995.html

3. Which命令

which  查看可执行文件的位置。 e.g which ls
       whereis  从你环境变量的路径中查找目标。 速度快 e.g whereis env
       locate   配合数据库查看文件位置。linux下有个专门存放文件位置的数据库,这个命令就是从这个数据库中查询。不是实时的,可以用updatedb命令来更新。 $ locate /etc/sh 搜索etc目录下所有以sh开头的文件。
       find   实际搜寻硬盘查询文件名称

时间: 2024-08-26 18:26:43

source, export, which 命令学习的相关文章

sqlplus 命令学习

sqlplus 命令学习 $ sqlplus  / as sysdba SQL> help index 可以输入sqlplus 命令 Enter Help [topic] for help. @             COPY         PAUSE                    SHUTDOWN @@            DEFINE       PRINT                    SPOOL /             DEL          PROMPT  

当进行make命令学习是出现error trying to exec 'cc1': execvp: No such file or directory

进行编译的时候总是会出现这种状况 error trying to exec 'cc1': execvp: No such file or directory 自己把程序改了又改,改的很简单之后还是出现这种状况,发现不是我代码的问题,然后去网上查资料,得到了满足我自己状况的解决办法. (有可能每个人面对的突发状不一样,应该多去找几种解决办法,最终将会找到满足自己的解决方案) 我自己的请款是在Ubuntu下安装了arm'的交叉编译环境,在更改PATH时更改如下: export PATH=/usr/l

mysql常用命令学习

1.\c取消当前准备执行的sql语句. mysql> select user,host,password from mysql.user;\c +--------+-----------+----------+ | user   | host      | password | +--------+-----------+----------+ | root   | localhost |          | | root   | mytest2   |          | | root  

penghui_031413 Bat命令学习

penghui_031413 Bat命令学习 基础部分:====================================================================== 一.基础语法: 1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令.可以使用任何文本文件编辑工具创建和修改. 2.批处理是一种简单的程序,可以用 if 和 goto 来控制流程,也可以使用 for 循环. 3.批处理的编程能力远不如C语言等编程语言,也十分不规范. 4.

(转)Linux命令学习总结:dos2unix - unix2dos

Linux命令学习总结:dos2unix - unix2dos 命令简介: 原文:http://www.cnblogs.com/kerrycode/p/5077969.html dos2unix是将Windows格式文件转换为Unix.Linux格式的实用命令.Windows格式文件的换行符为\r\n ,而Unix&Linux文件的换行符为\n. dos2unix命令其实就是将文件中的\r\n 转换为\n. 而unix2dos则是和dos2unix互为孪生的一个命令,它是将Linux&Un

linux命令学习之文件目录命令-mv命令

mv命令可以用来移动文件或者将文件改名(move (rename) files),经常用来备份文件或者目录 命令学习 命令格式:mv [选项] 源文件或目录 目标文件或目录命令功能:根据mv命令中第二个参数类型(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中.当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名.当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各

linux五大搜索命令学习

五大搜索命令学习 分别解释locate,find,which,whereis,grep 五大linux搜索命令 locate 解释:由man手册可以看出,locate查找就是根据文件名进行查找,只是依赖于updatedb命令.该命令更新linux中的查找数据库/var/lib/locatedb 这个数据库中含有本地所有文件信息.Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件.为了避免这种情况,可以在使用 locate之前,先使用update

基础命令学习总结

基础命令总结: 1.获取帮助命令: help man info 2.日期时间命令: date hwclock cal 3.系统管理命令: shutdown halt reboot poweroff bash tty 4.文件管理命令: cd type file echo which  whereis whatis dirname basename makewhatis mkdir pwd      touch 基础命令学习总结,布布扣,bubuko.com

Git命令学习之旅——日志和穿梭版本号

在总结了git命令的基础之后,接下来我们看一下基础的一些进阶内容:删除撤销命令.日志查看命令等 既然有加入文件的功能,那么相相应的肯定有移除文件的功能,命令例如以下:git rm [文件名称] 在输入命令之后,例如以下图所看到的: 提示已经删除了"c.txt"文件.这个时候再用git status查看一下状态,例如以下图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JB

Java命令学习系列(7):Javap(转)

原文出处: Hollis(@Hollis_Chuang) javap是jdk自带的一个工具,可以对代码反编译,也可以查看java编译器生成的字节码. 一般情况下,很少有人使用javap对class文件进行反编译,因为有很多成熟的反编译工具可以使用,比如jad.但是,javap还可以查看java编译器为我们生成的字节码.通过它,可以对照源代码和字节码,从而了解很多编译器内部的工作. 实例 javap命令分解一个class文件,它根据options来决定到底输出什么.如果没有使用options,那么