`

linux 在shell脚本中获取该脚本的所在绝对路径2

阅读更多

脚本名:a.sh

位置:/tmp/whuang/study/java

脚本内容:

this_dir=`pwd`
file_name=`basename $0`
dirname $0|grep "^/" >/dev/null
if [ $? -eq 0 ];then
    this_dir=`dirname $0`
else
        dirname $0|grep "^\.\." >/dev/null
        retval=$?
        if [ $retval -eq 0 ];then
               this_dir=`dirname $0|sed "s#^#$this_dir/#"`
        else
                        dirname $0|grep "^\./" >/dev/null
                        retval=$?
                        if [ $retval -eq 0 ];then
                                this_dir=`dirname $0|sed "s#^\.\(/.*\)#$this_dir\1#"`
                        else
                                this_dir=`dirname $0|sed "s#^#$this_dir/#"`
                        fi
                fi
fi
echo $this_dir
 ----------------------------------------------

功能:获取脚本的绝对路径。

测试:

 

[root@ppc40 java]# pwd

/tmp/whuang/study/java

[root@ppc40 java]# sh a.sh

/tmp/whuang/study/java

[root@ppc40 java]# cd ..

[root@ppc40 study]# sh java/a.sh

/tmp/whuang/study/java

[root@ppc40 study]# sh ./java/a.sh

/tmp/whuang/study/java

 

[root@ppc40 study]# sh ../study/java/a.sh

/tmp/whuang/study/../study/java


分享到:
评论

相关推荐

    linux获取shell脚本所在绝对路径操作介绍.docx

    linux获取shell脚本所在绝对路径操作介绍.docx

    Shell中获取脚本所在目录绝对路径的方法

    而在 linux shell 脚本里面如果想得到当前脚本文件存放的绝对路径,也没有太现成的命令可以调用,不过可以通过下面的语句来获取: 代码如下: baseDirForScriptSelf=$(cd “$(dirname “$0″)”; pwd) echo “full ...

    Linux环境通过shell脚本批量安装apk

    Linux环境通过shell脚本批量安装apk,shell脚本中定义apk安装包的路径 通过for循环,批量进行安装,

    获取shell脚本自身所在目录的Shell脚本分享

    前几天写的七牛的参赛demo,用bash写了一个便捷安装的脚本,涉及到了路径相关的判断,从stackoverflow,加上自己的实践整理一下。 简单版 下面是一个最简单的实现,可以解决大多数问题,缺陷是对于软链接显示的是软...

    linux中,用shell脚本检查磁盘使用率并清理文件

    1、shell脚本检查磁盘的使用率。根据挂载的目录路径去查找磁盘,并获取使用率参数。 目录路径可以列表的形式,配置多个。 2、如果磁盘的使用率超过设定的阈值,则会进入清理流程。 3、清理流程分两种情况清理:(1)...

    shell将脚本输出结果记录到日志文件的实现

    您可能感兴趣的文章:linux中 shell 历史命令记录功能用来记录登录后使用命令的shell脚本PowerShell小技巧之定时记录操作系统行为PowerShell时间记录脚本Powershell小技巧之记录脚本的操作Powershell小技巧之用变量...

    linux-shell自动部署脚本参考文件

    该脚本基于centos环境下的shell脚本自动部署配置,该脚本内容基本无需变化,仅根据sh文件名称进行对应的服务jar名称定位,比如,将脚本名称改为app_demo.sh,则部署的服务jar名称为demo.jar,jar存放路径,启动配置...

    Linux Shell程序设计 Ubuntu 实验二

    仅供参考,异地ing要在自己的虚拟机上面跑...这个主要是关于Ubuntu机器的一些shell程序设计的一些题,用于浙江工业大学的一个计算机学院Linux课的实验,我拿来直接用,帮我挣点分,我也想从这上面下载一点有用的知识。

    shell脚本按当前日期输出日志的实现

    shell脚本基本技能是设置变量,输出信息。如下: sh脚本输出到控制台 将以上脚本保存到test.sh脚本文件中,并赋予可执行权限:sudo chmod +x test.sh 执行脚本:bash test.sh 控制台输出: 输出到控制台,并且写入...

    linux_command_shell_script:常用的linux命令和shell脚本

    linux命令和shell脚本的提示常用的linux命令和shell脚本注意: MarkDown由[stackedit]( )完成常见环境变量USER-您当前的用户名。 SHELL –当前命令外壳程序的路径(例如/ bin / bash )。 PWD –当前工作目录。 ...

    Linux中执行shell脚本的4种方法总结

    假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限。 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: 代码如下: cd /data/shell ./hello.sh ./...

    Linux操作系统 局域网内文件同步 脚本 工具

    echo " 例子: 1-绝对路径 2-相对路径 3-支持多个文件 4-支持通配符" echo " 1. delivery.sh /home/epacs/epacs5000/bin.tar.gz" echo " 2. delivery.sh bin.tar.gz " echo " 3. delivery.sh file1 file2 file3 " ...

    oracle12c利用shell脚本一键自动化安装

    脚本内容除了oracle数据包需要在网盘下载之外,已经包含所有依赖包,可以用作离线环境一键安装使用,除安装路径酌情修改之外,其他无需修改,oracle安装版本为12.2.0.1,安装之前请看下README.txt文件内容,如果需要...

    Linux shell 编程学习笔记

    #相对路径,或者绝对路径 ./start.sh #一个脚本范例,&& 表示的是逻辑判断,表示前面执行成功才会执行 #当然也可以用分号,但是不代表逻辑判断,前面执行成功与否都会执行 # || 代表逻辑否,就是前面失败执行 ping ...

    删除文件只保留最新的n个文件的shell脚本

    使用方法 deleteOldFile.sh folderpath n folderpath :文件所在文件夹路径 n: 保留多少个最新的文件

    linux 访问ftp/sftp脚本及sftp免密码登录配置说明

    $4 : 本地文件路径 $5 :FTP服务器文件路径 $6 :mput/mget 命令 $7 :要操作的文件名称 cmdsftp.sh $1 : 主机IP $2 :用户名 $4 : 本地文件路径 $5 :FTP服务器文件路径 $6 :mput/mget 命令 $7 :要操作的文件...

    shell脚本4种执行方式

    Linux中shell脚本的执行通常有4种方式,分别为工作目录执行,绝对路径执行,sh执行,shell环境执行。这篇文章主要介绍了shell脚本4种执行方式 ,需要的朋友可以参考下

    shell 脚本命令行下编译运行servlet

    用shell写的脚本,用于java web开发时,自动编译运行servlet,速度极快,免除了eclipse慢且不过更新代码和资源的问题。脚本中的路径请自行替换为自己的

    linux下shell自动编译安装git下载的ffmpeg源码

    为此我参考srs的shell脚本,替换成ffmpeg-master.zip,并将h264编解码相关的aac、x264资源均做了更新。并更新了depends,方便minmal安装的linux。本人在centos6、7下均测试通过。 【说明】 #tar -xvf build_ffmpeg-...

    shell启动java程序(jar)的脚本

    shell启动jar程序的脚本,可以根据传入的参数"start"、"stop"、"restart"启动当前目录下的jar程序。

Global site tag (gtag.js) - Google Analytics