需求描述:

写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脚本中获取脚本的名字,使用脚本的名字。相关推荐

  1. c中获取python控制台输出_linux c程序中获取shell脚本输出的实现方法

    [转]Linux Shell脚本调试技术 本文转载自:https://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/ Shell脚本调试技术 ...

  2. php 父类中获取子类的名称,php – 在父类中获取子类的名称(静态上下文)

    我正在构建一个重用和简单的ORM库;一切都很好,除了我被一个愚蠢的继承限制.请考虑以下代码: class BaseModel { /* * Return an instance of a Model ...

  3. WEB自动化(5)获取网站验证码即从验证码截图中获取图片中的字符串

    WEB自动化(1)环境安装及打开浏览器实例 WEB自动化(2)常用的元素定位方法之xpath详解 WEB自动化(3)PO设计模式原理与实现 WEB自动化(4)使用selenium将网站验证码截图保存为 ...

  4. java暂停脚本_用Rhino解析Java中的JavaScript:暂停/恢复脚本

    我正在使用JDK的javax.script.*包.具体来说,我使用的是JavaScript引擎,据我所读,它似乎是基于Mozilla开发的名为Rhino的JavaScript- in-Java解释器. ...

  5. notes获取计算机名,在Lotus Notes数据库中获取最近读取的文档(Get recently read document in Lotus Notes Database)...

    在Lotus Notes数据库中获取最近读取的文档(Get recently read document in Lotus Notes Database) 我正在使用LotusScript和Lotus ...

  6. php 获取日期标签的值,在php中获取标签的选定索引值

    我试图从< select>中获取所选值在 PHP中标记,但我收到错误. 这就是我所做的, HTML Select Male Female PHP脚本 $Gender = $_POST[&q ...

  7. 不能直接获取?聊聊如何在Shader Graph中获取深度图

    0x00 前言 在这篇文章中,我们选择了过去几周Unity官方社区交流群以及UUG社区群中比较有代表性的几个问题,总结在这里和大家进行分享.主要涵盖了** StreamingAssets.Profil ...

  8. html获取子节点数量,Selenium-webdriver在JavaScript中获取子元素数

    假设我的html是这样的 One 这个js测试文件能够运行,但我试图在选择列表中获取子元素的数量. var assert = require('assert'), test = require('se ...

  9. java 从一个容器获取对象,如何从 Spring IoC 容器中获取对象?

    前面几篇文章主要分析了 Spring IoC 容器如何初始化,以及解析和注册我们定义的 bean 信息. 其中,「Spring 中的 IoC 容器」对 Spring 中的容器做了一个概述,「Sprin ...

最新文章

  1. 面试高频题:单链表的逆置操作/链表逆序
  2. Nvidia的CUDA库现在恢复使用了
  3. android adb 控制手机,adb 控制手机动作
  4. 图像处理:python实现canny算子
  5. 电脑装不装网卡有什么区别
  6. PHP支付接口教程,详解微信支付(二)
  7. 浅谈C++中内存泄漏的检测
  8. Qt程序启动画面QSplashScreen
  9. SpringBoot RestFul风格API接口开发
  10. SCVMM 2012 R2---安装前的准备工作
  11. at for lte
  12. web 前端routine
  13. python常用的几种字符串替换函数strip、replace、sub
  14. 华为手机序列号前三位_华为手机SN码里隐藏的秘密,选购手机必备冷知识!
  15. java 获得文本框文本_Java获取和删除Word文本框中的表格
  16. 钉钉机器人关键词应答_Gmail 邮件推送到钉钉群机器人(详细)教程|国内接收 Gmail 邮件...
  17. 新起点,新希望,为梦想而战!!!
  18. 第10章 对象和类 -1
  19. 【Ceph】Ceph错误记录 Ceph 运维手册
  20. 服务器系统ppt素材,服务器 云 ppt 素材

热门文章

  1. 微信小程序文件云存储-上传下载删除功能
  2. 【电气专业知识问答】问:什么叫组合电器?什么是GIS?
  3. 工程师笔记|UPS启动期间,VxRail的这招也许能救命
  4. 点云损失函数Chamfer Distance 和 Earth Mover‘s Distance
  5. 如何将OFD文件转成WORD?每天免费用
  6. winpe 能否修复服务器系统盘,U盘启动盘winpe修复系统的技巧
  7. 设置屏幕常亮 switch
  8. 学习 Python Django
  9. 圣天诺SuperPro狗模拟视频语音教程
  10. 序幕(计算机基础知识)