linux shell bash sh里source,sh,bash,/有什么区别

1.source命令用法:
  source FileName
  作用:在当前bash环境下读取并执行FileName中的命令。该filename文件可以无&执行权限&
&&& 注:该命令通常用命令“.”来替代。
&&& 如:source .bash_profile&&&
&&&&&&& . .bash_profile两者等效。
&&& source(或点)命令通常用于重新执行刚修改的初始化文档。
&&& source命令(从 C Shell 而来)是bash shell的内置命令。
&&& 点命令,就是个点符号,(从Bourne Shell而来)。
&&& source的程序主体是bash,脚本中的$0变量的值是bash,而且由于作用于当前bash环境,脚本中set的变量将直接起效
2 sh, bash的命令用法:
&&&& sh/bash FileName
&&&& 作用:打开一个子shell来读取并执行FileName中命令。该filename文件可以无&执行权限&
&&&& 注:运行一个shell脚本时会启动另一个命令解释器.
&&&&&&&& 每个shell脚本有效地运行在父shell(parent shell)的一个子进程里.
&&&&&&&&&&& 这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程.
&&&&&&&& shell脚本也可以启动他自已的子进程.
&&&&&&&&&&& 这些子shell(即子进程)使脚本并行地,有效率地地同时运行脚本内的多个子任务.
&&& 在ubuntu中sh只是bash的一个链接。&&
&&& 由于是在子shell中执行,脚本设置的变量不会影响当前shell。
3、./的命令用法:
&&&& ./FileName
&&&& 作用:打开一个子shell来读取并执行FileName中命令。该filename文件需要&执行权限&
&&&& 注:运行一个shell脚本时会启动另一个命令解释器.
&&&&&&&& 每个shell脚本有效地运行在父shell(parent shell)的一个子进程里.
&&&&&&&&&&& 这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程.
&&&&&&&& shell脚本也可以启动他自已的子进程.
&&&&&&&&&&& 这些子shell(即子进程)使脚本并行地,有效率地地同时运行脚本内的多个子任务.
&&& 由于是在子shell中执行,脚本设置的变量不会影响当前shell。
本文已收录于以下专栏:
相关文章推荐
转自:http://blog.csdn.net/caesarzou/article/details/7310201
source命令用法:
  source FileName
  作用:在...
1.source命令用法:
  source FileName
  作用:在当前bash环境下读取并执行FileName中的命令。该filename文件可以无&执行权限&
    注:该命令通常...
ubuntu下source、sh、bash、./执行脚本的区别
1 source命令用法:
  source FileName
  作用:在当前bash环境下读取并执行FileName中的命令。...
原文出处:http://blog.csdn.net/caesarzou/article/details/7310201
source命令用法:
  source FileName
  作用...
ubuntu(linux)下source、sh、bash、./执行脚本的区别是什么,如何运行shell程序,如何在shell程序以及后续脚本中使用同一个变量,这些在工作中经常用到, 我找到如下的文章,...
如何运行shell程序,如何在shell程序以及后续脚本中使用同一个变量,这些在工作中经常用到, 我找到如下的文章,再加深复习一下。
1.source命令用法:
  source...
source命令用法:
  source FileName
  作用:在当前bash环境下读取并执行FileName中的命令。该filename文件可以无&执行权限&
    注:该...
如何运行shell程序,如何在shell程序以及后续脚本中使用同一个变量,这些在工作中经常用到, 我找到如下的文章,再加深复习一下。
1.source命令用法:
  source File...
点评:ubuntu下source、sh、bash、./执行脚本的区别.这几个都是很常见的参数.
ubuntu下source、sh、bash、./执行脚本的区别
1.source命令用法:
原文地址:/shi_shun/blog/static//
exec和source都属于bash内部命令(b...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 199, 距离下一级还需 1 积分
论坛徽章:0
本帖最后由 想…… 于
15:13 编辑
我用的系统是 fedora14, sh是链接到bash的,但是写shell时遇到问题了,
&&1 #!/bin/sh
&&2 source pcy.sh
&&3 echo hello
运行的时候会提示:
./test.sh: line 2: source: pcy.sh: file not found
也就是说我用 sh 时 执行source总是会提示我找不到文件!用 . 和用source都是一样的结果!
大家有没有人遇到过这种情况的?
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
论坛徽章:379
你的pcy.sh文件没创建呢吧
白手起家, 积分 199, 距离下一级还需 1 积分
论坛徽章:0
我的当前目录下是有pcy.sh文件的。把&&1 #!/bin/sh 改为 #!/bin/bash后运行就正常
论坛徽章:379
[chenyx@5250 ~]$ cat test.sh
source pcy.sh
echo 'hello'
[chenyx@5250 ~]$ ll /bin/sh
lrwxrwxrwx 1 root root 4
/bin/sh -& bash
[chenyx@5250 ~]$ ./test.sh
hello world
[chenyx@5250 ~]$ cat pcy.sh
echo 'hello world'
我这正常,sh就是bash的连接啊,你看下你的系统
白手起家, 积分 199, 距离下一级还需 1 积分
论坛徽章:0
本帖最后由 想…… 于
15:25 编辑
当 test.sh文件是这样的时候,
&&1 #!/bin/bash
&&3 . pcy.sh
&&4 echo hello
而当前目录没有 pcy.sh时
./test.sh: line 3: pcy.sh: No such file or directory
论坛徽章:379
你的pcy.sh写成绝对路径测试下
白手起家, 积分 199, 距离下一级还需 1 积分
论坛徽章:0
你的是什么系统?
我的是2.6.35.6-45.fc14.x86_64
难道是我下去的系统有问题?
论坛徽章:379
我的是centos 5.5
白手起家, 积分 199, 距离下一级还需 1 积分
论坛徽章:0
写成绝对路径是可以的。
应该是bash默认的选项改变了
有办法让sh和bash一样么?用相对路径?
论坛徽章:379
你在终端窗口输入 ll /bin/sh复制代码看下sh是不是bash的软连接.source命令用法:
  source FileName
  作用:在当前bash环境下读取并执行FileName中的命令。该filename文件可以无&执行权限&
&&&&注:该命令通常用命令“.”来替代。
&&&&如:source .bash_profile & &
&&&&&&&&. .bash_profile两者等效。
&&&&source(或点)命令通常用于重新执行刚修改的初始化文档。
&&&&source命令(从 C Shell 而来)是bash shell的内置命令。
&&&&点命令,就是个点符号,(从Bourne Shell而来)。
&&&&source的程序主体是bash,脚本中的$0变量的值是bash,而且由于作用于当前bash环境,脚本中set的变量将直接起效
2 sh, bash的命令用法:
&&&&&sh/bash FileName
&&&&&作用:打开一个子shell来读取并执行FileName中命令。该filename文件可以无&执行权限&
&&&&&注:运行一个shell脚本时会启动另一个命令解释器.
&&&&&&&&&每个shell脚本有效地运行在父shell(parent shell)的一个子进程里.
&&&&&&&&&&&&这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程.
&&&&&&&&&shell脚本也可以启动他自已的子进程.
&&&&&&&&&&&&这些子shell(即子进程)使脚本并行地,有效率地地同时运行脚本内的多个子任务.
&&&&在ubuntu中sh只是bash的一个链接。 & &
&&&&由于是在子shell中执行,脚本设置的变量不会影响当前shell。
3、./的命令用法:
&&&&&./FileName
&&&&&作用:打开一个子shell来读取并执行FileName中命令。该filename文件需要&执行权限&
&&&&&注:运行一个shell脚本时会启动另一个命令解释器.
&&&&&&&&&每个shell脚本有效地运行在父shell(parent shell)的一个子进程里.
&&&&&&&&&&&&这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程.
&&&&&&&&&shell脚本也可以启动他自已的子进程.
&&&&&&&&&&&&这些子shell(即子进程)使脚本并行地,有效率地地同时运行脚本内的多个子任务.
&&&&由于是在子shell中执行,脚本设置的变量不会影响当前shell。
本文已收录于以下专栏:
相关文章推荐
ubuntu(linux)下source、sh、bash、./执行脚本的区别是什么,如何运行shell程序,如何在shell程序以及后续脚本中使用同一个变量,这些在工作中经常用到, 我找到如下的文章,...
如何运行shell程序,如何在shell程序以及后续脚本中使用同一个变量,这些在工作中经常用到, 我找到如下的文章,再加深复习一下。
1.source命令用法:
  source...
转自:http://blog.csdn.net/caesarzou/article/details/7310201
source命令用法:
  source FileName
  作用:在...
1.source命令用法:
  source FileName
  作用:在当前bash环境下读取并执行FileName中的命令。该filename文件可以无&执行权限&
    注:该命令通常...
ubuntu下source、sh、bash、./执行脚本的区别
1 source命令用法:
  source FileName
  作用:在当前bash环境下读取并执行FileName中的命令。...
原文出处:http://blog.csdn.net/caesarzou/article/details/7310201
source命令用法:
  source FileName
  作用...
source命令用法:
  source FileName
  作用:在当前bash环境下读取并执行FileName中的命令。该filename文件可以无&执行权限&
    注:该...
如何运行shell程序,如何在shell程序以及后续脚本中使用同一个变量,这些在工作中经常用到, 我找到如下的文章,再加深复习一下。
1.source命令用法:
  source File...
点评:ubuntu下source、sh、bash、./执行脚本的区别.这几个都是很常见的参数.
ubuntu下source、sh、bash、./执行脚本的区别
1.source命令用法:
关于bash与sh的话题(限于一般linux),以下个人的一些总结及理解,有理解错误的地方还望指点
-----------------------------------------------...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)什么是SHELL?
shell的中文意思就是贝壳,其实比较类似于我们内核的壳。我们通过hsell和用户通信SHELL简而言之就是只要能够操作应用程序的接口都能够称为SHELL。狭义的shell指的是命令行方面的软件,广义的SHELL则包括图形界面。
SHELL的版本
在鸟哥的私房菜的一书中,介绍了UNIX的版本以及众多的SHELL版本。
早在UNIX年代,发展者众多,所以由于shell依据发展者的不同就有许多版本,比如sh,C SHell,K SHell,还有TCSH等,每一种Shell都各有特点。当然也有我们的bash,bash这个shell是Bourne Shell的增强版本,也是基于GNU的架构下发展出来的。
sh和bash的区别
因为bash是sh的增强版本,在我们平常实地操作的时候如果sh这个命令不灵了我们应当使用bash。
举个例子来说如果我们使用数字的加减
有几种不同的版本,
#! /bin/bash
let result=no1+no2
echo $result
result=$[no1+no2]
echo $result
result=$[$no1+5]
echo $result
result=$((no1+50))
echo $result
如果使用sh则输出
test3.sh: 4: test3.sh: let: not found
test3.sh: 5: test3.sh: let: not found
$[no1+no2]
可以看见sh不仅不支持多种命令,而且很多细小的差别。
所以其实我们应该更多的使用bash,也就是./xx.sh,前提是修改权限,chmod a+x xx.sh。
本文已收录于以下专栏:
相关文章推荐
在我们所使用的系统当中,使用sh调用执行脚本,相当于打开了bash的POSIX标准模式 (等效于bash的 --posix 参数)
一般的,sh是bash的“子集” (不是子集的部分,具...
在ubuntu中,sh只是bash的一个链接,执行的程序都是一样的,命令解释器是一样的。但bash xx.sh和./xx.sh和sh xx.sh还是有不同的,bash xx.sh和sh xxx.sh都...
今天学习 Linux 的时候遇到一个问题。
USERNAME='hcbbt'
echo &My name is ${USERNAME}. You call m...
一、单引号和双引号
首先,单引号和双引号,都是为了解决中间有空格的问题。
因为空格在linux中时作为一个很典型的分隔符,比如string1=this is astring,这样执行就会报错。为了...
/deepday/blog/item/ecf79052eee4.html什么是Shell?      shell是你(用户)和Linux(...
跟我一起写操作系统(二)——史上最简单的内核
  转载注明出处:/lucasysfeng/p/4847662.html
  上一讲地址:...
本文分析基于内核Linux Kernel 1.2.13原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7488828更多请看专栏,地址...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 linux bash source 的文章

 

随机推荐