当前位置:  技术问答>linux和unix

./和 sh 的区别

    来源: 互联网  发布时间:2017-01-03

    本文导语:  当前登操作用户为root -rwx------ 1 root root       17 2011-09-22 23:33 test 现在执行这个shell脚本 ./test     成功 sh test    成功 现在去掉执行权限x -rw------- 1 root root       17 2011-09-22 23:33 test 还是执行这个shell脚...


当前登操作用户为root

-rwx------ 1 root root       17 2011-09-22 23:33 test

现在执行这个shell脚本
./test     成功

sh test    成功

现在去掉执行权限x

-rw------- 1 root root       17 2011-09-22 23:33 test

还是执行这个shell脚本

./test    失败   (-bash: ./test: Permission denied)

sh test   成功


请问..这个./和sh在x权限中实质上有什么区别..如果有详细的文档..可以发个链接..

多谢各位...


|
./ 这个是可执行文件  直接执行

比如 gcc编译出的./a.out

而 脚本的执行需要解释器,所以你的sh 就是代表使用的解释器的类型。

只是 linux有些默认的解释器,才导致貌似有些脚本也可以直接./脚本名

但对于一些脚本 例如 python 最好还是前面指定解释器 写作: python  ***.py

|
楼主写过脚本没有。

写脚本文件的时候一般在前面有一句#!/bin/sh 
比如写一个test.sh脚本

#!/bin/sh 

echo "hello"


表示告诉系统,该文件默认是使用sh脚本解释器来执行。

可以直接./test.sh执行。

但是如果你test.sh是

echo "hello"


则理论上来说需要sh test.sh 才能执行该脚本。(其实这个时候你./test.sh也可以,因为默认会使用sh来执行),但是你如果写python等其他脚本,如果指定解释器,则直接执行是不行的。


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 测试Python内部类型及type和isinstance用法区别
  • 请问 中科红旗与其他通常所用的linux有何区别 另外linux和unix有何区别
  • Linux/CentOS下的CST和UTC时间的区别以及不一致的解决方法
  • 请问rm和unlink区别,link和ln的区别
  • redis和mongodb区别详细介绍
  • 请问ncurses与curses有区别吗?有什么区别?在这两个库下编写的程序通用吗?
  • 正向代理与反向代理概念及其区别
  • 高手请赐招:数字签名与数字认证的区别,尤其是概念上的区别。谢谢!
  • linux ramfs和tmpfs区别及用法介绍
  • linux,Unix以及windows主要都有什么区别啊,包括系统内核和用户所能感觉到的区别
  • HTML 区块元素:<DIV>和 <SPAN>各自的定义与区别详细介绍
  • 请问各位对操作系统有研究的高手门,unix和linux,到底有多大的区别?区别在那里?其内核究竟有多少是相同的?
  • c/c++中的内存分配 malloc 和 new介绍及相互之间的区别
  • Class与ID区别 margin和padding区别 CSS学习笔记
  • docker和VM虚拟机的区别以及如何用docker搭建基础设施
  • 浅析java中ArrayList与Vector的区别以及HashMap与Hashtable的区别
  • XHTML 详细介绍以及xhtml与html的区别
  • 请告诉我---Java2是什么东东?和Java有什么区别?JDK是什么?和JBuilder有什么区别?
  • 请问一下红色字体处的区别,及pthread_self()和pthread_creat()函数第一个参数的区别?
  • 请问这两句话有什么区别?
  • Linux和Unix是什么区别啊?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3