#!是一个特殊符号,/bin/sh是用来解释该脚本的的shell路径

#!/bin/sh指该脚本使用/bin/sh来执行

sh只是其中一种解释方式,通过如下命令可以查到支持的shell解释方式:

xx@xxx$ sudo cat /etc/shells

# /etc/shells: valid login shells

/bin/sh

/bin/bash

/bin/rbash

/bin/dash

区别在于当用sh解释时,当source命令执行有问题时,sh不再往下执行;

但用bash时,bash会继续执行之后的命令。

当没有加#!+shell解释器时,脚本会默认当前用户登录的shell为脚本解释器,通常为bash

在终端下要执行一个可执行文件,直接输入它的文件名+路径就好了。

之前一直看到输入比如./test,用于执行当前目录下的test文件,一直以为./是执行指令。

现在才知道原来./test的./是为了承接现在所在的文件夹,让现在所在的文件夹+文件,合并成该文件的完整路径,用于执行。

如果非要在执行命令前加上一些指令用于执行,那就只能是bash/sh

ly@ubuntu:~/Desktop/sutest$ ./test

fail to read: Permission denied

ly@ubuntu:~/Desktop/sutest$ test

ly@ubuntu:~/Desktop/sutest$ which test //因为这里执行的是/usr/bin/test,所以不会有当前路径下的test的正确输出

/usr/bin/test

Linux - /bin/sh^M: bad interpreter: No such file or directory

问题 在Windows环境下用Notepad++写了个shell脚本,上传到Linux平台后运行报错如下: /bin/sh^M: bad interpreter: No such file or di ...

[shell]Linux脚本开头#!/bin/bash和#!/bin/sh是什么意思以及区别

一直以为在shell脚本中#都是代表着注释功能,同样在脚本开始的#!/bin/sh也只是告诉用户这是一个shell脚本,而最近顺手查了下,才发现不是这个意思,分享下面的文章. 转自:http://ww ...

Linux脚本开头#!/bin/bash和#!/bin/sh是什么意思以及区别

一.意思 #!/bin/sh是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径. 其实第一句的#!是对脚本的解释器程序路径,脚本的内容是由解释器解释 ...

Linux:/bin/bash和/bin/sh的区别

bash.dash(/bin/bash和/bin/sh) 原文:http://www.cnblogs.com/dkblog/archive/2011/04/02/2003822.html Linux中 ...

Linux中运行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。

在Linux中运行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分析:这是不同系统编码格式引起的:在windows系统中 ...

[linux] ubuntu 切换默认的/bin/sh

[linux] ubuntu 切换默认的/bin/sh 背景 ubuntu 默认的sh, 也就是/bin/sh默认被切换成了dash,dash体积相对于bash更小,并且性能相对于bash更好, 但是 ...

linux sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory

在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory.这是不同系统编码格式引起的:在windows系统中编辑的. ...

在Linux中执行.sh脚本,异常/bin/sh^M

在Linux中执行.sh脚本,异常/bin/sh^M 在linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分 ...

随机推荐

[修正] Firemonkey TFrame 存档后,下次载入某些事件连结会消失(但源码还在)

问题:Firemonkey TFrame 存档后,下次载入某些事件连结会消失(但源码还在) 解决:(暂时方法) type TTestFrame = class(TFrame) public const ...

WPF 自定义Grid双击事件

先设置Grid_MouseDown事件函数,然后在函数内增加如下代码 ) { //双击执行 } 更改数字可以区别单击和双击 感谢@一 定 会 去 旅 行

iOS支付宝的使用

打开“APViewController.m”文件,对以下三个参数进行编辑. 二.集成支付宝到自己的工程 1.启动Xcode,为了方便快速开发,将解压包里面的AlipaySDK.bundle和Alipa ...

OCJP(1Z0-851) 模拟题分析(五)over

Exam : 1Z0-851 Java Standard Edition 6 Programmer Certified Professional Exam 以下分析全都是我自己分析或者参考网上的,定有 ...

[转载]C# FTP操作工具类

本文转载自,仅对原文格式进行了整理. 介绍了几种FTP操作的函数,供后期编程时查阅. 参考一: using System; using System.Collec ...

LayoutInflater的inflate函数用法

LayoutInflater作用是将layout的xml布局文件实例化为View类对象. 获取LayoutInflater的方法有如下三种: LayoutInflater inflater=(Layo ...

java - import *

以前看过很多视频,现在发觉很多讲师讲的有些地方是错的,在这里就说一下 import *,例如: import java.util.*的时候,表示的是将文件中使用到的类(而不是全部类)导入,例如在imp ...

10. Regular Expression Matching

Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...

Fragment传参

1. 封装基类 /** * Created by chenhaibin * Time 18/1/20 * Email chenhaibin415@163.com * Description:封装代码的 ...

软件毕业设计文档流程与UML图之间的关系

每个模型都是用一种或者多种UML图来描述的,映射关系如下: 1.用例模型:使用用例图.顺序图.通信图.活动图和状态图来描述. 2.分析模型:使用类图和对象图(包括子系统和包).顺序图(时序图).通信图 ...

linux中的 bin sh,Linux-#!/bin/sh理解相关推荐

  1. Linux中使用ps、awk、sh一起批量杀死所有的dotnet进程。

    一.操作 Linux中使用ps.awk.sh一起批量杀死所有的dotnet进程. 二.参考命令 ps -ef|grep dotnet|awk 'NR==2{print "kill " ...

  2. 在linux中的sort命令,linux中sort命令

    功能说明:将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序. 参 数: -b 忽略每行前面开始出的空格字符. -c 检查文件是否已经按照顺序排序. -d 排序时,处理英文字母.数 ...

  3. linux中文件链接,关于Linux中文件,链接的一些思考

    在Unix系统中,操作系统为磁盘上的文本与图像,鼠标键盘操作,网络交互等IO操作设计了一组通用API. 使他们被处理的时候可统一用字节流的方式.所以说,除了进程之外,其他的一切均可看做文件. Linu ...

  4. linux中original_如何在 Linux 中整理磁盘碎片

    如何在 Linux 中整理磁盘碎片 转载自: 如何在 Linux 中整理磁盘碎片​linux.cn 有一个神话是 linux 的磁盘从来不需要整理碎片.在大多数情况下这是真的,大多数因为是使用的是优秀 ...

  5. linux中用户组和用户,linux中用户和用户组

    一.用户和组原理 一个用户可以属于多个组,一个组有多个用户 在Linux中操作系统必须依赖组和用户进行管理 二.与用户和组相关的配置文件 1.组相关配置文件 1)/etc/group :管理用户组信息 ...

  6. 网页修改linux命令行,linux中文本修改操作命令linux网页制作 -电脑资料

    在命令模式下可以使用 vi 提供的各种有关命令对文本进行修改,包括对文本内容的删除.复制.取代和替换等, 1. 文本删除/移动 在编辑文本时 ,经常需要删除一些不需要的文本,我们可以用键将输错或不需要 ...

  7. linux中make命令大全,Linux中的命令 make -f 是什么意思

    二.Makefile的文件名 默认的情况下,make命令会在当前目录下按顺序找寻文件名为"GNUmakefile"."makef ile"."Make ...

  8. linux中ftp的用法,linux中的ftp命令用法(7页)-原创力文档

    第 第 PAGE 1 页 共 NUMPAGES 1 页 linux中的ftp命令用法 Linux系统中的ftp命令功能强大,那么它的具体用法是怎样呢?下面由小编为大家整理了linux中的ftp命令用法 ...

  9. 搜索linux中大于m文件,linux 下查找大于100M的文件(转)

    命令行如下 find . -type f -size +1000000k Linux系统下查找大文件或目录的技巧 当硬盘空间不够时,我们就很关心哪些目录或文件比较大,看看能否干掉一些了,怎么才能知道呢 ...

  10. linux中特殊字符的含义,Linux中的特殊符号以及特殊语法

    辨别||.&&.;.$*等符号在linux中的含义 与或 # 将&&前后的两个命令当做一个表达式,如果表达式出错,那么可以认为该表达式为false ➜ ~ ls / & ...

最新文章

  1. DSP SCI模块实验
  2. RabbitMQ死信队列代码架构图
  3. C\C++\Java字符串拼接比较
  4. AFNetworking 学习笔记
  5. Python---利用蒙特.卡罗方法计算圆周率近似值
  6. NOI数学之提高级:欧拉定理和欧拉函数
  7. 一起玩转LiteOS组件:Pixman
  8. Java文件流字节流和字符流的区别
  9. kr中的逆波兰表示法计算器
  10. [POJ1830] 开关问题
  11. saltstack管理二之saltstack的安装
  12. java age_这些Java9 超牛的新特性,你竟然还没用过?
  13. python金融反欺诈-项目实战
  14. mysql 创建事件_MySQL创建事件(CREATE EVENT)
  15. 一则两年前的可怕预言:2013年中国经济危机将爆发!
  16. mysql 月初 月末_月初月末sql语句(日期所在月的第一天,最后一天)
  17. 图片的体积怎么压缩?这三种方法你会吗?
  18. 研报复现初探—华泰金工人工智能选股系列之boosting模型
  19. 移动硬盘使用注意事项
  20. Proteus + μVision Keil单片机仿真教程(一)点亮一个LED

热门文章

  1. 三、Android网络开发
  2. JAVA基础-java继承类实现
  3. gcc -Wall -pedantic -ansi(转载)
  4. 安卓搭建虚拟服务器,安卓手机搭建云服务器
  5. IPSec 密钥加密体系概述
  6. 关于软件工程中的银弹
  7. 用java实现一个算术测试软件,最新Java算术测试
  8. VR与360环物实现详细过程
  9. 学习编程是否真的有用?
  10. 微信玩这个 存款惊人_英语的8个惊人新趋势