此代码来自apache2服务启动脚本.

这是什么意思?

SCRIPTNAME="${0##*/}"

解决方法:

它找到正在运行的脚本的名称,删除其目录.例如,如果脚本是/etc/init.d/httpd,那么这将设置SCRIPTNAME = httpd.

$0或${0}是正在执行的脚本的名称. ##运算符用于删除与模式* /匹配的任何前导字符串. *是通配符,因此* /表示“任何字符串后跟正斜杠”.

这样做的效果是从$0中删除任何前导目录名称,只留下脚本的名称.

来自man bash:

${parameter#word}

${parameter##word}

The word is expanded to produce a pattern just as in pathname expansion. If the pattern

matches the beginning of the value of parameter, then the result of the expansion is the

expanded value of parameter with the shortest matching pattern (the “#” case) or the longest

matching pattern (the “##” case) deleted. If parameter is @ or *, the pattern removal operation is applied to each positional parameter in turn, and the expansion is the resultant

list. If parameter is an array variable subscripted with @ or *, the pattern removal operation is applied to each member of the array in turn, and the expansion is the resultant list.

标签:linux,sh

来源: https://codeday.me/bug/20190902/1790603.html

linux script $,linux – 这在shell脚本中是什么意思SCRIPTNAME =“${0 ## * /}”?相关推荐

  1. Shell脚本中的return,exit 0,以及 父进程获取子进程的变量

    1 Shell脚本中的return,exit 0 shell脚本中,一般在脚本的函数里面使用return语句,函数中使用return语句后,表示函数执行完毕,函数中return语句后面的代码将不再执行 ...

  2. linux 函数自动补全,Shell脚本中实现自动补全功能

    对于Linuxer来说,自动补全是再熟悉不过的一个功能了.当你在命令行敲下部分的命令时,肯定会本能地按下Tab键补全完整的命令,当然除了命令补全之外,还有文件名补全. Bash-completion ...

  3. linux复杂逻辑判断,20.5 shell脚本中的逻辑判断

    shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 格式2:if 条件; then 语句; else 语句; fi 格式3:if -; then - ;elif -; then ...

  4. linux分支结构,实验四 Shell脚本中的分支结构

    实验四 Shell脚本中的分支结构 #实验内容: ###一.if分支结构 •if结构是最基本的分支结构类型. •使用if结构时,只有满足某个条件才会执行某些语句,而在不满足此条件的情况下执行其他语句. ...

  5. shell 脚本中常见的 if [ $? -ne 0 ]; 意思

    $?是shell变量,表示"最后一次执行命令"的退出状态.0为成功,非0为失败. 扩展阅读: $# 表示提供到shell脚本或者函数的参数总数: $1 表示第一个参数. 另外: 整 ...

  6. 利用linux mutt 发送邮件(在Shell脚本中使用比较方便)

    我只讲它很小的一部分功能,因为我也是刚刚开始摸索这个软件.更多的用法请查阅官网:http://www.mutt.org 一.mutt的安装 1 yum -y install sendmail 2 #需 ...

  7. Linux教程 - 在Shell脚本中声明和使用布尔变量示例

    需要定义一个名为failed的bash变量,并将值设置为False.当从cron作业调用我们的脚本时,特定的任务可能会失败,然后我需要将failed转换为True.基于$failed,我需要发送一封电 ...

  8. 在Shell脚本中声明和使用布尔变量示例

    需要定义一个名为failed的bash变量,并将值设置为False.当从cron作业调用我们的脚本时,特定的任务可能会失败,然后我需要将failed转换为True.基于$failed,我需要发送一封电 ...

  9. shell脚本中的$用法

    shell脚本中的$用法 变量 含义 $0 shell脚本的文件名 $1 ~ $n 添加到shell脚本中的各参数: 即执行shell脚本时后跟的内容: $1为第1参数,$2为第2参数 $? shel ...

最新文章

  1. numpy中的转置Transpose和.T以及轴对换swapaxis
  2. 计算机操作系统(八)---虚拟存储器
  3. 【PAT乙级】1068 万绿丛中一点红 (20 分)
  4. SM37作业条目的存储表
  5. highcharts图表高级入门之polar:极地图的基本配置以及一些关键配置说明
  6. python图像处理大全
  7. influxdb删除某一列(tag或者field)
  8. dism 分割镜像_UEFI安装win10 1809系统,拆分Windows 映像大于4G文件install.wim的官方教程(亲测完美)...
  9. java开源项目-六个经典的 SpringBoot 练手项目
  10. Python url的编码转换
  11. matlab描点连线画图
  12. Lighttpd介绍
  13. :style动态设置背景图片
  14. 「产品社群」话题讨论精华·第3期
  15. 刚发布!新型病毒下,程序员可在家免费学习了!
  16. 计算机课拔线头检讨书,实验室检讨书.doc
  17. mysql添加字段及备注_MySQL字段的说明和备注信息
  18. Mac-iTerm2固定标签名字
  19. 基于arcgis的python编程秘籍_基于ArcGIS的Python编程秘笈 第2版
  20. 7亿人养活的眼镜行业,容不下一家县城小店

热门文章

  1. 问题 F: 分盒子(经典)
  2. java 图形校验_java图形验证码生成工具类 web页面校验验证码
  3. 一击进榜!达摩院十年“扫地僧”,揭秘阿里云数据仓库逆袭之旅
  4. 上海市新能源汽车数据平台引入阿里云Lindorm数据库,成本下降20%
  5. @所有人 Flink Forward Asia 2020 向您发出议题征集邀请!
  6. 自研开源框架 Midway Serverless ,让前端提效 50% 背后的故事
  7. pmp每日三题(2022年3月1日)
  8. SpringMVC常见面试题(5个最常见面试题,回答超详细)
  9. 2021东京奥运会数据接口
  10. entOS 7 安装 python3+pip3+chrome+chromedriver+selenium+requests 无GUI运行脚本