${BASH_SOURCE[0]} 在 zsh 中等效吗?

2024-04-20

标题应该说明一切。我正在寻找相当于${BASH_SOURCE[0]} in zsh.

Note:我不断地寻找“$0相当于${BASH_SOURCE[0]}” 在互联网上流传甚广,但这似乎是错误的:$0似乎是执行命令的名称。 (它是argv[0],这是有道理的。)在我的脚本中回显 $0 (.zshrc) gives zsh for $0,这与什么不一样${BASH_SOURCE[0]}是。实际上,${BASH_SOURCE[0]}似乎工作在zsh,除了内部.zshrc files.

我真正在做什么.zshrc(这不起作用):

echo ${BASH_SOURCE[0]}
source `dirname $0`/common-shell-rc.sh

源失败($0 is zsh)和echo输出一个空行。

Edit:显然,对于$0为了工作,我需要选择FUNCTION_ARGZERO选项集。有什么方法可以测试这是否在脚本中设置? (这样我就可以暂时设置它) 它显然是打开的,除非你设置nofunction_argzero,并且它在我的 shell 中。还是一无所获$0。 (我认为 b/c 我不在函数中。)


${BASH_SOURCE[0]}zsh 中的等效项是${(%):-%N}, NOT $0(正如OP所说,后者在.zshrc中失败)

Here %表示值的迅速扩展,%N表示“脚本的名称、源文件、 或 zsh 当前正在执行的 shell 函数,

以最近开始的为准。如果没有,这相当于参数$0。”(来自man zshmisc)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

${BASH_SOURCE[0]} 在 zsh 中等效吗? 的相关文章

  • 使用 zsh 在终端中启动 Sublime Text 3

    我最近购买了一台新 MacBook 我正在尝试重新配置我的系统 该应用程序位于应用程序文件夹内 名称为 Sublime Text app 我已经通过我在网上找到的其他建议编辑了 sublime plugin zsh 文件到 Sublime
  • 传递到 mvn exec:java 时保留参数间距等

    我有一个启动 Maven exec java 进程的 shell 脚本 exec mvn exec java Dexec mainClass Dexec args 现在可悲的是如果我跑步 myMagicShellScript arg1 ar
  • Emacs 退出终端

    在 Emacs 中运行终端模式时使用M x term using C x C o我无法切换到另一个缓冲区来继续处理事情 我知道这是可能的M x shell但使用此命令时 shell 的某些方面不起作用 less more 手册页等 我想知道
  • 即使退出命令后,Shell 脚本仍继续运行

    我的shell脚本如下所示 bin bash Make sure only root can run our script EUID ne 0 echo This script must be run as root 1 gt 2 exit
  • 在大型文本文件中查找重复记录

    我在一台 Linux 机器 Redhat 上 并且有一个 11GB 的文本文件 文本文件中的每一行包含单个记录的数据 并且该行的前 n 个字符包含该记录的唯一标识符 该文件包含略多于 2700 万条记录 我需要验证文件中不存在具有相同唯一标
  • 使用通配符在 .zshrc 中获取多个文件

    我通过 oh my zsh 使用 z shell 我想从 zshrc 文件中获取多个别名文件 这样我就可以让事情井井有条 我已经为别名文件添加了前缀 alias 这样我就可以通配符加载它们 但是 打电话给source alias 只加载第一
  • 使用 GIT_PS1_SHOWCOLORHINTS 自定义 __git_ps1 的颜色

    我尝试过的 我已更新我的提示以包含分支名称 git ps1 另外 我设置GIT PS1 SHOWCOLORHINTS 问题 提示正确显示 然而 树枝的颜色始终是绿色的 我预计肮脏的树枝会是红色的 文档指出 颜色基于 git status s
  • 使用 sh shell 比较字符串

    我正在使用 SH shell 我试图将字符串与变量的值进行比较 但是if条件始终执行为真 为什么 这是一些代码 Sourcesystem ABC if Sourcesystem eq XYZ then echo Sourcesystem M
  • 为什么我不能在 while 循环内评估?

    我想在循环中创建 bash 别名 其中循环从命令读取行 为了逐行读取输出 我相信我需要将输出通过管道传输到read 然而 当我这样做时 别名不存在 如果我将以下内容包含在我的 bashrc for x in a1 a2 do eval al
  • 在 Linux 中使用仅限 CLI 的工具生成磁盘使用情况图/图表

    在这个问题中 https stackoverflow com questions 32230 tracking down where disk space has gone on linux有人询问如何在 Linux 中显示磁盘使用情况 我
  • 如何在 Laravel 中存储非 php 文件的模板?

    我们可以存储PHP模板文件使用bladeLaravel 中的模板引擎 但是 我想在远程服务器上创建一个配置文件 每个文件包含 20 30 行以上 到目前为止 我一直在使用Perl 我曾经执行 Perl 文件 该文件用于将内容转储到一个文件中
  • 模拟用户输入以使用不同参数多次调用脚本

    我必须使用提供的脚本 该脚本在脚本运行时接受用户输入而不是参数 我无法解决这个问题 脚本的一个例子是 bin bash echo param one read one doSomething echo param two read two
  • Bash 'printf' 相当于命令提示符?

    我希望在 Windows 命令提示符下将一些字符串输入通过管道传输到一个小型 C 程序 在 bash 中我可以使用 printf AAAAA x86 x08 x04 xed program 本质上 我需要一些东西来转义命令提示符中的那些十六
  • 如何在 Bash 中为数组赋值?

    我正在尝试从文本文件中读取值列表 你好 txt 并将它们存储在一个数组中 counter 0 cat hello txt while read line do Unix Array counter line let counter coun
  • 如何在Windows Git shell中运行./script.sh?

    也许这很尴尬 但是当我在 Git shell 中工作时 我无法在 Windows 上运行 sh 文件 也许我必须安装一些东西 但我认为 Git 会支持 bash 命令 我知道 Windows 不使用 sh 文件 我正在执行安装步骤游戏结束
  • 将所有脚本参数复制到另一个变量

    我需要复制所有脚本参数并将它们传递给另一个脚本 我尝试这样做 args printargs sh args echo printargs sh args 但在这种情况下 如果我使用包含空格的参数调用我的父脚本 例如 script sh ar
  • 使用 sed 将 old-link-url 替换为 new-link-url

    我正在 bash 中编写一个脚本 将 old link url 替换为 new link url 我的问题是 sed 由于斜杠而无法替换 url 如果我只输入一些文字就可以了 my code sed e s old link new lin
  • 从 bash 脚本运行节点

    很简单 我正在尝试使用 cron 自动运行 nodejs 脚本 但是脚本本身似乎无法运行该文件 我的脚本很简单 usr bin env node node var node assets js update js 但是 在运行此命令时 它返
  • Zsh 中的鱼式自我暗示?

    有没有办法做到鱼的自我暗示类型 http ridiculousfish com shell images autosuggestion png in Zsh https github com tarruda zsh autosuggesti
  • 在 shell 脚本中查找和替换

    是否可以使用 shell 在文件中搜索然后替换值 当我安装服务时 我希望能够在配置文件中搜索变量 然后在该值中替换 插入我自己的设置 当然 您可以使用 sed 或 awk 来完成此操作 sed 示例 sed i s Andrew James

随机推荐

  • Chrome 浏览器开发者工具:脚本多次出现

    当使用 Chrome 的开发者工具调试 Javascript 时 当我更改 重新加载 测试代码时 脚本 列表往往会添加每个脚本的多次出现 Safari 使用相同的基本工具集 但不这样做 某个脚本在此列表中出现 10 次并不陌生 发生这种情况
  • 使用新数据重新加载 ngx-graph

    我正在尝试泳道 ngx graph 在我的应用程序中用户可以删除或添加节点 根据删除或添加操作 我将相应地更新我的数据 现在真正的问题是如何在不刷新整个页面的情况下刷新图表 您可以使用以下方法更新它update 图表的选项 HTML
  • ASP.NET MVC3 部分视图命名约定

    我是 MVC 开发的新手 所以请耐心等待 真的有必要将我的部分视图命名为 Action cshtml 与 下划线 以遵守命名约定 这是我的问题我有一个控制器 StudentController 和一个操作 List 它有一个名为 List
  • 将多个正则表达式合并为一个

    我正在尝试编写一个代码将字符串连接成拉丁诗句 我已经处理了一些限制 但是我没有得到所需的输出 我的代码如下
  • Swift:标准数组的二分搜索?

    我有一个排序数组 想对其进行二分搜索 所以我问 Swift 库中是否已经有一些东西可以使用 比如排序等 或者是否有可用的类型无关版本 当然我可以自己写 但我喜欢避免再次重新发明轮子 这是我最喜欢的二分搜索实现 它不仅对于查找元素很有用 而且
  • 类型错误:$(...).selectize 不是函数

    我将 selectize rails gem 安装到了我的 Rails 应用程序中 并且正在尝试使其正常工作 我的网络控制台中不断出现此错误 TypeError selectize is not a function 并且浏览器中没有任何反
  • 使用 xcodebuild 构建等待 /"runContextManager.runContexts" 超时

    我正在设置我的 iphone 项目以与 hudson 一起运行 我的构建脚本在本地运行良好 但是当在我的雪豹服务器 mac 上执行以下命令时 xcodebuild sdk iphoneos4 3 workspace Moments xcwo
  • 单击闪亮的操作按钮后将光标聚焦在文本区域

    无论如何 我都不是 html 或 JavaScript 方面的专家 因此 我希望您能就这个问题得到帮助 我认为我应该提供应用程序的较小版本 以便能够解释问题 这是一个简单应用程序的 app R 它允许用户在文本区域中写入一个单词 单词的第一
  • Laravel 5 Dotenv 用于特定子域

    我的 laravel 5 应用程序中有几个子域 每个子域都有特定的配置 如 mail nocaptcha 等 如何设置 env 文件以与我的特定子域一起使用 是的 您可以使用单独的 env每个子域的文件 因此如果您在配置中使用环境变量 它将
  • 在 R 中的 dplyr 中分组一些其他变量后,如何保留其他变量?

    之前今天我发布了这个问题here https stackoverflow com questions 72461943 how can i add missing month value and remove duplicate in dp
  • nginx+uwsgi+django,uwsgi中似乎有一些奇怪的缓存,帮帮我

    这是 uwsgi 配置 uwsgi uid 500 listen 200 master true profiler true processes 8 logdate true socket 127 0 0 1 8000 module www
  • C#中小时和分钟的时间跨度计算

    最终结果应向用户显示开始时间和结束时间之间的时间跨度 例如 早上 06 30 开始工作 晚上 18 30 结束 显示的结果应为 12 小时 现在 我必须DateTime参数 从时间和到时间 每个DateTime参数具有 24 小时格式的小时
  • 使用 JPA 跟踪历史记录

    我想通过使用一个新表来存储日志 其中包含进行更改的用户 日期以及每次更新 插入中发生的任何更改 从而为我的模型实体之一实现历史记录跟踪 审核 我使用 EclipseLink 作为我的 JPA 提供程序 但我不想使用它历史政策 http wi
  • System.web.mvc 缺失

    我们有一个旧的 ASP NET MVC 3 Web 应用程序 在 VS2010 中构建 自上周的安全更新以来无法编译 问题在于对 System Web Mvc dll 的引用已损坏 当我在尚未运行安全更新的构建计算机上打开解决方案文件 并打
  • 重写 Spring Data Rest 请求映射

    我们目前有一个level 2 http martinfowler com articles richardsonMaturityModel htmlRESTful Web 服务 我们正在更新该服务以纳入超媒体支持 我们在后端使用 Sprin
  • 在ggplot中组合geom_rect和facet_grid时遇到问题

    我想在简单绘图的每个方面对背景的一部分进行着色 如果我省略构面并运行 geom rect geom point 预期结果将如下面的 MRE 所示 如果我省略矩形并运行 geom point facet grid 则预期的 4 个面板的每个点
  • oracle中如何将单行数据转换为单列数据

    我有一个像这样的表 column1 column2 column3 column4 A B C D 想要将其转换为 Column A B C D 在 oracle 中不使用此联合 select column1 as Column from
  • C# 中 PInvoke 代码的使用

    我有以下使用 DLLImport 的 C 代码 using System namespace LvFpga class RegTest DllImport kernel32 public extern static int LoadLibr
  • std::string::c_str() 结果的生命周期是多少?

    在我的一个程序中 我必须与一些可以使用的遗留代码进行交互const char 可以说我有一个如下所示的结构 struct Foo const char server const char name 我的更高级别的应用程序只处理std str
  • ${BASH_SOURCE[0]} 在 zsh 中等效吗?

    标题应该说明一切 我正在寻找相当于 BASH SOURCE 0 in zsh Note 我不断地寻找 0相当于 BASH SOURCE 0 在互联网上流传甚广 但这似乎是错误的 0似乎是执行命令的名称 它是argv 0 这是有道理的 在我的