当前位置: 首页 > wzjs >正文

雄安建设投资集团网站客户营销

雄安建设投资集团网站,客户营销,DW做的网站都能打开吗,wordpress 釆集插件目录 需求描述 方法一:使用 dirname 和 readlink 命令 方法二:使用 BASH_SOURCE 变量 方法三:仅使用纯 Bash 实现 需求描述 工作中经常有这样情况,需要在脚本内部获取该脚本自己所在目录的绝对路径。 假如有一个脚本/a/b/c/…

目录

需求描述

方法一:使用 dirname 和 readlink 命令

方法二:使用 BASH_SOURCE 变量

方法三:仅使用纯 Bash 实现


需求描述

工作中经常有这样情况,需要在脚本内部获取该脚本自己所在目录的绝对路径。

假如有一个脚本/a/b/c/work.sh。如何在work.sh内部获取work.sh所在目录的绝对路径,即获取到/a/b/c,或者/a/b/c/也可以。要求无论在哪个目录执行work.sh都能达到目的。

能适用于以下情形:

情形1:在/a/b/c目录下执行 bash work.sh或者bash ./work.sh 或者 bash /a/b/c/work.sh

情形2:在/a目录执行bash b/c/work.sh或者./b/c/work.sh 或者 bash /a/b/c/work.sh

情形3:在/a/b/c/d/目录下执行 bash ../work.sh 或者 bash /a/b/c/work.sh

以下是几种常见且有效的实现方式。

方法一:使用 dirname 和 readlink 命令

dirname 命令用于返回路径中的目录部分,readlink -f 用于获取文件的绝对路径。

#!/bin/bash
# 获取脚本的绝对路径
script_path=$(readlink -f "$0")
echo "$script_path"
# 获取脚本所在目录的绝对路径
script_dir=$(dirname "$script_path")
echo "$script_dir"

在上述代码中,$0 代表当前正在执行的脚本名。readlink -f "$0" 会将脚本的相对路径转换为绝对路径,然后使用 dirname 命令提取出该绝对路径中的目录部分。

方法二:使用 BASH_SOURCE 变量

BASH_SOURCE 是一个数组变量,BASH_SOURCE[0] 存储着当前执行脚本的文件名。结合 dirname 和 realpath 命令可以获取脚本所在目录的绝对路径。

#!/bin/bash
# 获取脚本的绝对路径
script_path=$(realpath "${BASH_SOURCE[0]}")
echo $script_path
# 获取脚本所在目录的绝对路径
script_dir=$(dirname "$(realpath "${BASH_SOURCE[0]}")")
echo "$script_dir"

方法三:仅使用纯 Bash 实现

如果系统不支持 readlink 或 realpath 命令,也可以使用纯 Bash 代码来实现:

#!/bin/bash
# 获取脚本的相对路径
relative_dir=$(dirname "$0")
# 转换为绝对路径
pushd "$relative_dir" > /dev/null
script_dir=$(pwd)
popd > /dev/null
echo "$script_dir"

在这个实现中,dirname "$0" 先获取脚本的相对目录,然后使用 pushd 命令进入该目录,pwd 命令获取当前工作目录的绝对路径,最后使用 popd 命令返回到原来的目录。> /dev/null 用于抑制命令的输出信息。

一个等价的做法是:

script_dir=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)

以上三种方法都能确保无论在哪个目录下执行 work.sh 脚本,都可以准确获取到该脚本所在目录的绝对路径。

http://www.dtcms.com/wzjs/492098.html

相关文章:

  • 网络营销知识网站网址申请注册
  • 做杂志的网站网络推广协议合同范本
  • 动态的网站怎么做网站优化+山东
  • 动态网站开发的架构东营网站建设制作
  • 微网站建设的第一步是进行首页的设置如何做好网络营销推广
  • 江苏省建设工程安全监督网站seo刷关键词排名优化
  • 济南建设网站平台优化大师电视版
  • 网站模板 源码之家网站推广具体内容
  • 北京网站建设专业乐云seo怎么创建一个属于自己的网站
  • 音乐网站制作源代码深圳优化公司样高粱seo
  • 个人网页设计页眉河北优化seo
  • 卖汽车的网站怎么做网络广告文案范文
  • 上海网站建设公司案例杭州推广平台有哪些
  • 公司建网站怎么弄企业培训师资格证报考2022
  • 触屏网站meta标签新闻今天
  • 中国网站建设集团百度推广优化师是什么
  • 阿里巴巴网站服务内容杭州百度快照推广
  • 做一个京东网站怎么做的灰色词首页排名接单
  • 哪个专业是学网站开发的小红书指数
  • 给个龙做罗拉的网站排名前十的大学
  • 网站建设页面吉林网站推广公司
  • 深圳市宝安区人民医院搜索引擎优化的英文缩写
  • 大学广告设计专业优化大师下载电脑版
  • 网站后台传不了图片seo网络优化师
  • 网站需要哪些百度seo优化服务
  • 什么是网站建设方案seo搜索
  • 音乐网站开发参考文献网时代教育培训机构官网
  • 蜗牛星际做网站服务器如何营销推广
  • 互联网网站建设一条龙服务semantics
  • 企业网站建设智恒网络黑马程序员培训机构在哪