linux bin sh命令,linux shell中#!bin/sh的理解
在shell编程的基础知识中,介绍说shell程序必须以"#!/bin/sh"开始,也就认为是这样了。
虽然知道在shell中以"#"开始的语句都是注释,但也从没认为"#!/bin/sh"也是注释,就像对C语言程序必须有main函数一样毫无怀疑。
但前些时候又听说"#!/bin/sh"也是注释,可有可无,当时觉得真是一个失败,连基本的语法都分不清。
前几天借了一本书,才真正认识了"#!/bin/sh"。
shell编程是以"#"为注释,但对"#!/bin/sh"却不是。
"#!/bin/sh"是对shell的声明,说明你所用的是那种类型的shell及其路径所在。
如果没有声明,则脚本将在默认的shell中执行,默认shell是由用户所在的系统定义为执行shell脚本的shell。
比如:如果脚本被编写为在Korn Linux中运行,而默认运行shell脚本的为C shell csh,则上述脚本在执行过程中很可能失败。
所以建议大家就把"#!/bin/sh"当成C 语言的main函数一样,写shell必须有,以使shell程序更严密。
即: #!/bin/sh 是指此脚本使用/bin/sh来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。
其实第一句的#!是对脚本的解释器程序路径,脚本的内容是由解释器解释的,我们可以用各种各样的解释器来写对应的脚本。
比如说/bin/csh脚本,/bin/perl脚本,/bin/awk脚本,/bin/sed脚本,甚至/bin/echo等等。
真的能写一个/bin/echo的脚本文件吗?例子:
代码:
#!/bin/echo –e
这只有一行的程序(实际上它也只能是一行,echo程序并不是被设计成像awk那样的编程语言,能写成源程序文件)命名为myecho,加上权限后执行它:
代码:
$ ./myecho "hi\a" ./myecho hi
如果echo支持-e选项并且你工作的环境还算安静,在得到上面的结果时,应该听到清脆的终端响铃。但这种程序是毫无作用的。
linux bin sh命令,linux shell中#!bin/sh的理解相关推荐
- linux shell bin sh,linux shell中#bin/sh的理解
摘要 腾兴网为您分享:linux shell中#bin/sh的理解,支付旭尊,小熊到家,天天美剧,淘金宝等软件知识,以及维棠flv视频软件,usb抓包工具,红警2无敌,ucbug造梦西游4,壁纸工作室 ...
- linux shell 未找到命令,未找到linux问题setenv命令(linux issue setenv command not found)
未找到linux问题setenv命令(linux issue setenv command not found) 我在Linux中开发了一个Tcl / Tk脚本工具. 为了运行该工具,每次需要在she ...
- linux 脚本 退出命令,使用linux的exit命令退出shell
使用linux的exit命令退出shell 发布时间:2020-07-11 11:29:48 来源:亿速云 阅读:103 作者:清晨 栏目:服务器 这篇文章将为大家详细讲解有关使用linux的exit ...
- linux的网络命令整理 更新中
linux的网络命令整理 更新中 1.安装包: net-tools 主要命令: netstat , ifconfig , route , iptunnel iproute 主要命令: ss , ip ...
- Linux下sed命令替换配置文件中某个变量的值(改变包含字符的一行的值)之二——只改变第一出现的那一行
一.背景 在之前的文章中有介绍过<Linux下sed命令替换配置文件中某个变量的值(改变包含字符的一行的值)> 但是这种方法存在一定的问题,就是假如某个变量在一个文件中出现两次,却只想更改 ...
- linux查看UID命令,Linux下查看UID
方法一:使用 id 命令 使用id 命令可以很轻松的通过用户名查看UID.GID. 命令格式 id [选项]... [用户名] 命令选项 -a 忽略,兼容其它版本 -Z, –context 只输出当前 ...
- linux新建自定义命令,Linux 创建自定义命令
Linux 创建自定义命令 Linux 可以创建自定义使用命令 这里我们采取使用"alias"命令.这里我们首先了解两个文件,通过这两个文件我们可以根据环境配置相应的自定义命令. ...
- linux基础:shell中的sh与bash区别与常用命令
目录 一,什么是sh和bash? 二,shell的基本用法 2.1,变量 2.2,算术运算 2.3,使用 bash 计算器在shell脚本中进行浮点运算 2.4,shell中的条件判断命令test和[ ...
- sh命令 /Linux中执行shell脚本的4种方法总结
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...
- linux shell中./a.sh , sh a.sh , source a.sh, . ./a.sh的区别
在linux shell中, 执行shell script的方式有多种, 有什么区别呢? 现在用一个简单例子再来说下. a.sh的内容是: #! /bin/bash echo hello world ...
最新文章
- 百亿估值的Databricks,到底是做什么的?
- Win64 驱动内核编程-26.强制结束进程
- linux下cmake命令行,深入理解CMake(1): CMake命令行参数
- 华为harmonyos公测,华为鸿蒙 Harmony OS 2.0 第二轮公测已开启,赶紧申请报名
- Linux ALSA声卡驱动之三:PCM设备的创建
- 云计算精华问答 | 边缘计算、雾计算、霾计算,它们究竟是什么?
- 设计模式 - Prototype模式(原型模式)
- 'tensorflow' has no attribute 'sub'
- 如何安装python_怎么在Windows操作系统下安装Python和Networkx
- Window10 下载配置 ChromeDriver
- sql/plus 常用操作
- 孔浩用的mysql工具_springmvc 孔浩 hibernate
- DOA估计谱峰搜索的一种策略
- bmvc哪个出版社出版_在出版饮食上
- 印染行业APS智能排程排产的应用意义
- win7计算机不显示摄像头图标不见了,win7系统摄像头图标不见怎么办?
- 【R语言 | 如何绘制带组内差异比较的柱形图】
- idea怎么进行c语言编程_idea编写c语言
- 永不服输的Java之路---重学Java (第二章)
- 55.网页设计规则#3_图片和插图