在执行命令前加“. ./”是什么意思
请各位大侠帮忙:
在工作中,遇到在执行命令时命令的前面要加上“. ./”,不如“. ./profile.sh”是什么意思?
我在网上查了一圈也没有搜到,在论坛了搜也没有搜到,请各位知道的答复一下,这个问题一直困扰着我。
我知道“./”的意思是“在当前目录下”的意思,但是在前面又加了一个“点+空格”就不知道了。
谢谢答复!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
本帖最后由 steedz 于 2011-04-16 00:05 编辑
回复 5# 非凡公子
最近工作忙,没有时间上网,刚刚看到,多谢各位!
请问一下,如果是source的意思,是不是也可以这样执行“. profile.sh”(点+空格+profile.sh)
我的意思是:不用执行此脚本,直接用第一个点读取文件中的环境变量,是不是就OK了?
本人英语比较差,man了但没看懂,请问五楼和六楼大侠:
什么时候才能用到source命令,是不是脚本中有环境变量的时候?
比如:一个脚本a.sh内容是"TERM vt=100;export TERM",权限改为777,我即使不加source命令,直接./a.sh,不也可以将变量赋予当前环境下吗?
我看了一下profile.sh的权限,是644,是不是没有可执行权限的才需要用到source?
以上问题均基于“点+空格”等于source说的。
谢谢 !
有. ./profile?
本帖最后由 非凡公子 于 2011-04-08 12:21 编辑
.空格的情况下.代表命令,等同于source,具体你可以man source看看
五楼正解, . 等同于source命令, . ./profile 意思就是读取当前目录下的profile文件中的环境变量
根是不是有执行权限无关,即使没执行权限你也可以"sh a.sh"来执行脚本.不用source或.的话,你在a.sh中的变量只存在于a.sh的进程中,当a.sh执行完毕后,变量就不存在了.
没见过. ./这个,同意蜘蛛的看法!
不知你是学什么的??
LZ写错了吧,应该是. /.profile
第一个点是执行,第二个点是隐藏文件的前缀
回复 1# steedz
表示当前目录。
pwd看到的输出。