shell获取脚本本身名称_linux,shell脚本中获取脚本的名字,使用脚本的名字。
需求描述:
写shell脚本的过程中,有时会需要获取脚本的名字,比如,有的时候,脚本
中会有usage()这种函数,可能就会用到脚本的名字。
实现方法:
shell脚本中,通过使用$0就可以获取到脚本的名字或者说脚本本身。
操作过程:
1.通过以下的脚本写了一个脚本的使用函数usage()
#!/bin/bash
#functionusage means how to use this script.
usage()
{echo "Usage: $0 process_name1"
echo "for example $0 mysqld"}#if no parameter is passed to script then show how to use.
if [ $# -eq 0];thenusage
exitfi
备注:以上脚本的意思就是,如果脚本执行时,脚本的参数是0个,那么就调用usage函数,然后退出。
2.执行并且测试,是否会输出脚本的名字
[oracle@standby ~]$ ./ts01.sh
Usage: ./ts01.sh process_name1
for example ./ts01.sh mysqld
说明:执行测试脚本,没有给任何的参数即脚本参数的数量是0个,那么就调用了usage()函数,此时说出了脚本的名字或者说$0位置的内容,此处输出的是
./ts01.sh也就是$0
或者,通过sh命令进行调用脚本
[oracle@standby ~]$ sh ts01.sh
Usage: ts01.sh process_name1
for example ts01.sh mysqld
备注:输出的正好是ts01.sh
或者通过绝对路径的方式调用脚本
[oracle@standby ~]$ /home/oracle/ts01.sh
Usage: /home/oracle/ts01.sh process_name1
for example /home/oracle/ts01.sh mysqld
备注:输出的绝对路径加上脚本的名字。
小结:
通过以上测试可以知道,$0就是命令行中写的是什么输出就是什么,但是,通过sh命令调用脚本,就是脚本名字本身了,不带./也不带路径。
主要看脚本的调用方式是什么。
文档创建时间:2018年3月14日10:27:54
shell获取脚本本身名称_linux,shell脚本中获取脚本的名字,使用脚本的名字。相关推荐
- c中获取python控制台输出_linux c程序中获取shell脚本输出的实现方法
[转]Linux Shell脚本调试技术 本文转载自:https://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/ Shell脚本调试技术 ...
- php 父类中获取子类的名称,php – 在父类中获取子类的名称(静态上下文)
我正在构建一个重用和简单的ORM库;一切都很好,除了我被一个愚蠢的继承限制.请考虑以下代码: class BaseModel { /* * Return an instance of a Model ...
- WEB自动化(5)获取网站验证码即从验证码截图中获取图片中的字符串
WEB自动化(1)环境安装及打开浏览器实例 WEB自动化(2)常用的元素定位方法之xpath详解 WEB自动化(3)PO设计模式原理与实现 WEB自动化(4)使用selenium将网站验证码截图保存为 ...
- java暂停脚本_用Rhino解析Java中的JavaScript:暂停/恢复脚本
我正在使用JDK的javax.script.*包.具体来说,我使用的是JavaScript引擎,据我所读,它似乎是基于Mozilla开发的名为Rhino的JavaScript- in-Java解释器. ...
- notes获取计算机名,在Lotus Notes数据库中获取最近读取的文档(Get recently read document in Lotus Notes Database)...
在Lotus Notes数据库中获取最近读取的文档(Get recently read document in Lotus Notes Database) 我正在使用LotusScript和Lotus ...
- php 获取日期标签的值,在php中获取标签的选定索引值
我试图从< select>中获取所选值在 PHP中标记,但我收到错误. 这就是我所做的, HTML Select Male Female PHP脚本 $Gender = $_POST[&q ...
- 不能直接获取?聊聊如何在Shader Graph中获取深度图
0x00 前言 在这篇文章中,我们选择了过去几周Unity官方社区交流群以及UUG社区群中比较有代表性的几个问题,总结在这里和大家进行分享.主要涵盖了** StreamingAssets.Profil ...
- html获取子节点数量,Selenium-webdriver在JavaScript中获取子元素数
假设我的html是这样的 One 这个js测试文件能够运行,但我试图在选择列表中获取子元素的数量. var assert = require('assert'), test = require('se ...
- java 从一个容器获取对象,如何从 Spring IoC 容器中获取对象?
前面几篇文章主要分析了 Spring IoC 容器如何初始化,以及解析和注册我们定义的 bean 信息. 其中,「Spring 中的 IoC 容器」对 Spring 中的容器做了一个概述,「Sprin ...
最新文章
- 面试高频题:单链表的逆置操作/链表逆序
- Nvidia的CUDA库现在恢复使用了
- android adb 控制手机,adb 控制手机动作
- 图像处理:python实现canny算子
- 电脑装不装网卡有什么区别
- PHP支付接口教程,详解微信支付(二)
- 浅谈C++中内存泄漏的检测
- Qt程序启动画面QSplashScreen
- SpringBoot RestFul风格API接口开发
- SCVMM 2012 R2---安装前的准备工作
- at for lte
- web 前端routine
- python常用的几种字符串替换函数strip、replace、sub
- 华为手机序列号前三位_华为手机SN码里隐藏的秘密,选购手机必备冷知识!
- java 获得文本框文本_Java获取和删除Word文本框中的表格
- 钉钉机器人关键词应答_Gmail 邮件推送到钉钉群机器人(详细)教程|国内接收 Gmail 邮件...
- 新起点,新希望,为梦想而战!!!
- 第10章 对象和类 -1
- 【Ceph】Ceph错误记录 Ceph 运维手册
- 服务器系统ppt素材,服务器 云 ppt 素材