iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Shell获取当前正在执行脚本的绝对路径
  • 441
分享到

Shell获取当前正在执行脚本的绝对路径

Shell获取脚本绝对路径Shell脚本绝对路径 2022-06-04 23:06:35 441人浏览 薄情痞子
摘要

1. pwd命令 我们看看使用pwd命令能否获取当前正在执行脚本的绝对路径。该命令的作用是“print name of current/working directory”,真实含义是当前工作目录,并不

1. pwd命令

我们看看使用pwd命令能否获取当前正在执行脚本的绝对路径。该命令的作用是“print name of current/working directory”,真实含义是当前工作目录,并不是正在执行脚本的目录。


xiaosi@Qunar:~/company/sh$ cat pwd.sh
echo `pwd`
xiaosi@Qunar:~/company/sh$ sh pwd.sh
/home/xiaosi/company/sh
xiaosi@Qunar:~/company/sh$ cd ..
xiaosi@Qunar:~/company$ sh sh/pwd.sh 
/home/xiaosi/company

pwd.sh脚本中只有一句:echo `pwd`。通过在不同路径下运行脚本,sh pwd.sh得到/home/xiaosi/company/sh,然而sh sh/pwd.sh 得到/home/xiaosi/company,所以说pwd命令并不能得到正在执行脚本的目录。

2. $0

$0是Bash环境下的特殊变量,其真实含义是:Expands to the name of the shell or shell script. This is set at shell initialization.  If bash is invoked with a file of commands, $0 is set to the name of that file. If bash is started with the -c option, then $0 is set to the first argument after the string to be executed, if one is present. Otherwise, it is set to the file name used to invoke bash, as given by argument zero。

$0值与调用的方qaCPTxon式有关:

(1)使用一个文件调用bash,那$0的值是文件的名字


xiaosi@Qunar:~/company/sh$ cat pwd.sh 
echo $0
xiaosi@Qunar:~/company/sh$ sh pwd.sh 
pwd.sh

(2)使用-c选项启动bash,真正执行的命令会从一个字符串中读取,字符串后面如果还有别的参数的话,使用从$0开始的特殊变量引用(跟路径无关了)

(3)除此以外,$0会被设置成调用bash的那个文件的名字(没说是绝对路径)

3. 正解


basepath=$(cd `dirname $0`; pwd)

dirname $0,取得当前执行的脚本文件的父目录

cd `dirname $0`,进入这个目录(qaCPTxon切换当前工作目录)

pwd,显示当前工作目录(cd执行后的)

到此这篇关于Shell获取当前正在执行脚本的绝对路径的文章就介绍到这了,更多相关Shell获取脚本绝对路径内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

--结束END--

本文标题: Shell获取当前正在执行脚本的绝对路径

本文链接: https://www.lsjlt.com/news/21370.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • bash shell如何获取当前脚本的绝对路径
    本篇内容主要讲解“bash shell如何获取当前脚本的绝对路径”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“bash shell如何获取当前脚本的绝对路径”吧!有时候,我们...
    99+
    2023-06-29
  • bashshell获取当前脚本的绝对路径(pwd/readlink)
    有时候,我们需要知道当前执行的输出shell脚本的所在绝对路径,可以用dirname实现。我们知道 dirname 可以获取一个文件所在的路径,dirname的用处是: 输出已经去除...
    99+
    2024-04-02
  • linux中怎么获取shell脚本的绝对路径
    这期内容当中小编将会给大家带来有关linux中怎么获取shell脚本的绝对路径,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。脚本名:a.sh 位置:/tmp/whuang/study/java 脚本内容:...
    99+
    2023-06-13
  • Shell中中怎么获取脚本目录的绝对路径
    Shell中中怎么获取脚本目录的绝对路径,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。要得到正在执行的程序/脚本自身所存放的绝对路径,在 PHP 里面可以用 dirname...
    99+
    2023-06-09
  • vbs中怎么获取脚本当前路径
    这篇文章给大家介绍vbs中怎么获取脚本当前路径,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。方法一:currentpath = createobject("Scripting.FileSystemObject...
    99+
    2023-06-08
  • php获取当前项目的根目录(绝对路径)
    作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主 文章目录 前言代码:D:/phpstudy_pro/WWW/123/admin/index.ph...
    99+
    2023-09-16
    php 开发语言
  • 关于Golang获取当前项目绝对路径的问题
    导读 由于Golang是编译型语言(非脚本型语言),如果你想在Golang程序中获取当前执行目录将是一件非常蛋疼的事情。以前大家最折中的解决方案就是通过启动传参或是环境变量将路径手动...
    99+
    2024-04-02
  • javascript中怎么利用a标签获取当前目录的绝对路径
    本篇文章为大家展示了javascript中怎么利用a标签获取当前目录的绝对路径,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.location.href:当前页面...
    99+
    2024-04-02
  • linux中怎么用shell获取文件的绝对路径
    在Linux中,可以使用shell脚本来获取文件的绝对路径。以下是几种常用的方法: 方法一:使用pwd命令获取当前工作目录的绝对路径...
    99+
    2023-10-28
    linux shell
  • shell脚本批量执行指定路径下sql脚本的实现
    目录1. 场景描述2. 创建sql3. 创建脚本3.1 方式一3.2 方式二1. 场景描述 linux环境下通过shell脚本批量执行指定目录下所有sql语句,用来建表建库,初始化项目sql等。linux shell在线...
    99+
    2023-02-03
    shell批量执行sql脚本 shell批量执行脚本
  • 如何在Linux中使用shell脚本获取当前工作目录
    如何在Linux中使用shell脚本获取当前工作目录?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如下:workdir=$(cd $(dirname $0)...
    99+
    2023-06-09
  • C++ 获取当前正在运行函数的名称
    目录func、FUNCTION、__PRETTY_FUNCTION__的区别func、__FUNCTION__的区别?func、FUNCTION、__PRETTY_FUNCTION_...
    99+
    2023-05-16
    C++ 获取运行函数名称 C++获取函数名称
  • 如何编写shell脚本实现在Linux下不同路径之间的文件进行剪切操作
    这篇文章给大家分享的是有关如何编写shell脚本实现在Linux下不同路径之间的文件进行剪切操作的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。需求描述 编写shell脚本实现Linux下不同目录(路径)之间的文件...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作