当前位置:  技术问答>linux和unix

求这个获取脚本路径的实现解释

    来源: 互联网  发布时间:2017-04-06

    本文导语:  #!/bin/bash curPwd=${0%/*}   if [ "1" -eq "`echo "$0" | grep -c '^.'`" ] then    curPwd=`pwd`${0#.}    curPwd=${curPwd%/*} fi 1)${0%/*}这个是什么意思? 2)${0#.}这个是什么意思? 3)${curPwd%/*}这个是什么意思? | 首先知道 $0 ...


#!/bin/bash
curPwd=${0%/*}  

if [ "1" -eq "`echo "$0" | grep -c '^.'`" ]
then
   curPwd=`pwd`${0#.}
   curPwd=${curPwd%/*}
fi


1)${0%/*}这个是什么意思?
2)${0#.}这个是什么意思?
3)${curPwd%/*}这个是什么意思?

|
首先知道 $0 是表示脚本名字。
然后 curPwd 是脚本里面处理过的变量,内容是:脚本名字加上全径。

剩下的是变量处理,你可以搜索“变量截取”找相关的教材,下面是复制的一个简单说明:

一 # 号截取,删除左边字符,保留右边字符。
echo ${var#*//}
其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
 
二 ## 号截取,删除左边字符,保留右边字符。
echo ${var##*/}
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符

三 %号截取,删除右边字符,保留左边字符
echo ${var%/*}
%/* 表示从右边开始,删除第一个 / 号及右边的字符

四 %% 号截取,删除右边字符,保留左边字符
echo ${var%%/*}
%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符

五 从左边第几个字符开始,及字符的个数
echo ${var:0:5}
其中的 0 表示左边第一个字符开始,5 表示字符的总个数。

六 从左边第几个字符开始,一直到结束。
echo ${var:7}
其中的 7 表示左边第8个字符开始,一直到结束。

七 从右边第几个字符开始,及字符的个数
echo ${var:0-7:3}
其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。

八 从右边第几个字符开始,一直到结束。
echo ${var:0-7}
表示从右边第七个字符开始,一直到结束。

    
 
 

您可能感兴趣的文章:

  • C语言调用shell脚本后,通过何种方法能获取脚本中变量的值
  • 如何传递参数给linux shell 脚本(当脚本从标准输入而不是从文件获取时)
  • linux如何获取当前程序ID并用shell脚本停止进程
  • shell脚本获取30天前的日期
  • 求教:shell 脚本怎么获取ORACLE存储过程的返回值?
  • 关于在shell脚本中如何获取cd命令的返回值
  • 请教各位,shell脚本获取当前日期是本年的第几周?
  • 如何获取shell脚本中某条语句的执行时间
  • 获取同一网段下所有机器MAC地址的shell脚本
  • 获取文件路径的脚本
  • 多网卡多IP情况下如何通过脚本获取当前登录终端使用的ip?
  • 在shell脚本中,给定一个文件全路径(字符串),如何获取其文件夹?(内详)
  • sql获取分组排序后数据的脚本
  • linux shell脚本怎么获取目录下所有txt文件名称?
  • 获取两个日期间隔时间的shell脚本代码
  • linux下shell的脚本无法获取别的用户的环境变量
  • linux如何用Shell编写脚本获取进程目录下的cwd路径和exe路径
  • 请教一个关于shell脚本获取时间的问题
  • linux系统使用python获取内存使用信息脚本分享
  • 使用python编写脚本获取手机当前应用apk的信息
  • java获取系统路径字体、得到某个目录下的所有文件名、获取当前路径
  • java中获取类加载路径和项目根路径的5种方式分析
  • php求两个目录的相对路径示例(php获取相对路径)
  • C#获取路径的多种方法
  • 如何获取运行本程序的用户的默认工作路径??
  • bat 批处理获取文件路径
  • 如何获取应用程序的当前路径(Linux)
  • linux获取dll路径
  • 如何获取一个文件的相对路径?(急,在线等待……)
  • QT的应用程序中如何获取程序执行的路径?
  • Solaris 9中的C程序如何获取执行程序所在的路径?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何获取shell词法分析,语法分析及解释器的内容和信息
  • Python获取网页编码的方法及示例代码
  • linux不用命令方式读文件获取网络流量,如何使用C函数调用获取网络流量信息?
  • java Servlet获取和设置cookie实例代码
  • 关于获取在jsp上获取客户端时间的问题
  • Python通过正则表达式获取,去除(过滤)或者替换HTML标签的几种方法
  • 关于Ganglia中的gmond组件收集到的资源信息如何获取(如何获取telnet后返回的信息)
  • php获取访客ip地址原理及提供七段代码供参考
  • 利用sender的Parent获取GridView中的当前行(获取gridview的值)
  • php获取本机ip地址 php获取远程IP地址
  • linux获取主机名后用gethostbyname() 不能获取主机ip
  • javascript 获取url参数的正则表达式(用来获取某个参数值)
  • C++获取文件哈希值(hash)和获取torrent(bt种子)磁力链接哈希值
  • linux根据pid获取进程名和获取进程pid(c语言获取pid)
  • Shell获取系统时间问题
  • android 如何获取MCC/MNC控制小区广播的开启
  • 新手问题:Linux下如何获取进程占用的系统资源
  • c++如何获取当前进程名
  • 怎么通过snmp获取远程主机指定进程信息?
  • 怎样获取终端的所有打印消息
  • linux 内核空间如何获取当前时间(常用格式)
  • Android获取本机电话号码的简单方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,