获取 csh 脚本时如何获取 `__FILE__`

2024-02-18

我有一个脚本,用于在调用 csh shell 中设置一些环境变量。其中一些变量取决于脚本的位置。

如果该文件是正确的 csh 脚本,我可以使用 $0 来访问__FILE__但如果我使用源运行脚本,它只会告诉我 csh 或 tcsh。

由于我使用它在父 shell 中设置变量,因此我必须使用 source。

该怎么办?


如果您访问$_在文件的第一行,它将包含文件的名称(如果来源)。如果直接运行的话$0将包含名称。

#!/bin/tcsh
set called=($_)
if ($called[2] != "") echo "Sourced: $called[2]"
if ($0 != "tcsh") echo "Called: $0"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取 csh 脚本时如何获取 `__FILE__` 的相关文章

  • OS + Linux Shell bash / sh / ksh / csh / tcsh / adb shell

    s Android adb shell ADB Android debug bridge Android手机实际是基于Linux系统的 Google提供的ADB工具包带有fastboot exe rar http dl iteye com
  • 某些.csh .sh脚本无法在shell下执行的问题解决

    背景 最近换了一个环境 xff0c 登录后执行一个环境相关配置的 csh脚本时发现某些执行字段无法识别 xff0c 这种一般就是不同bash支持的脚本语言的差异问题 解决 查询当前shell的bash xff1a echo SHELL 当前
  • $?VAR 在 csh 中意味着什么?

    我遇到过用 csh 编写的这段代码 if LM LICENSE FILE then setenv LM LICENSE FILE LmLicense else switch LM LICENSE FILE case LmLicense br
  • 在 shell 脚本运行时编辑它

    您可以在 shell 脚本运行时对其进行编辑并使更改影响正在运行的脚本吗 我很好奇 csh 脚本的具体情况 我让该批处理运行一堆不同的构建风格并运行整夜 如果我在操作过程中发生了一些事情 我想进去添加额外的命令 或者注释掉未执行的命令 如果
  • 检查文件是否可执行

    我想知道检查程序是否可以用 bash 执行而不执行它的最简单方法是什么 它至少应该检查该文件是否具有执行权限 并且与当前系统具有相同的体系结构 例如 不是 Windows 可执行文件或其他不支持的体系结构 如果系统是 32 位 则不是 64
  • 在 tcsh 中生成序列号列表

    我一直在尝试找到一种解决方法来在 tcsh 中广泛定义序列号列表 即 而不是做 i 1 2 3 4 5 6 8 9 10 我想做这样的事情 知道它不起作用 i 1 10 这在 foreach 循环中特别有用 我知道我可以使用 while 只
  • 为 Git 存储库自定义 CSH 提示

    当我在 Git 存储库中时 我希望有一个自定义 CSH 提示 如果我不在 git 存储库中 我希望提示符看起来像这样 host name gt 但是当我进入 Git 存储库时必须变成这样 host name GIT REPO ROOT DI
  • csh 上的自连接字符串

    我需要将 argv 中的部分内容连接到我的变量之一 我将向您展示我的代码 bin csh set stringList foreach param argv if param TEST then set stringList stringL
  • 如何在 sed 中将一个路径替换为另一个路径? [复制]

    这个问题在这里已经有答案了 我有一个 csh 脚本 尽管我可以更改语言 如果它有任何相关性 我必须 sed s AAA BBB file 问题在于 AAA 和 BBB 是路径 因此包含 AAA 是固定的 所以我可以说 sed s A A A
  • 如何找到我正在执行的 tcsh shell 脚本的位置?

    假设我将可执行 tcsh 文件放入 path to my script csh 我当前的目录在任何地方 例如我在 path 所以我输入 to my script csh 我想在 my script csh 中有一行返回 path to my
  • 如何将 key ctrl-left 绑定到 word-left?

    我使用 tcsh 和 emacs 在 emacs 中 我习惯使用 ctrl left 绑定键将我向左移动一个单词 我想在我的 tcsh 终端中做同样的事情 我可以按 ctrl b 但我只是不习惯 从bindkey manpath中我不清楚如
  • 如何在 Linux 中针对分段错误生成核心转储?

    我的 Linux 中有一个进程出现分段错误 我怎样才能告诉它在失败时生成核心转储 这取决于您使用的 shell 如果您使用的是 bash 则 ulimit 命令控制与程序执行相关的多个设置 例如是否应该转储核心 如果您输入 ulimit c
  • TAB 自动完成 python CLI

    我只是想知道是否可以编写一个在 shell 中运行的 Python 脚本 当用户点击 Tab 时可以向他们提供建议 例如 某些应用程序如何限制其支持的建议文件类型 我在 optParse 中没有找到任何可以做到这一点的东西 理想情况下是 m
  • 如何从两个列表中删除一个列表中的目录?

    我正在编写一个 c shell 脚本 其中我正在两个字符串中 grep 两个不同的目录 我想删除相同目录的名称 我只想要两个目录中唯一的目录 而忽略重复的目录 我对如何做到这一点有点困惑 sta views 和 pnr views 字符串中
  • 如何将 RVM 与 tcsh 一起使用?

    我想将 RVM 与 tcsh 一起使用 我该怎么做呢 据我所知 没有这方面的 官方 说明 我按照 将 RVM 与 tcsh 结合使用 http po ru com diary using rvm with tcsh 但这对我不起作用 特别是
  • 找到 PATTERN 时合并两个文本文件的行

    我正在寻找一个 awk 或 sed 解决方案来根据匹配的模式组合 2 个文件 如下所示 本例中的模式是 cat 文件 2 中的行数始终等于文件 1 中的模式匹配数 File 1 I am a cat I am a dog I am a do
  • 如何更改 tcsh 提示符以显示当前工作目录?

    我在用tcsh我正在寻找一种响应式工作目录 我至少想显示最后一个文件夹名称而不是获取完整路径 想象我当前的工作目录是 user hostname home us Desktop my projects 然后我想显示这样的提示 user ho
  • 在 TCSH Shell 中启用历史记录

    如何启用在 tcsh shell 中输入的所有命令的日志记录 我试过了 将 history 变量设置为 100 savehist 到 99 将 histfile 设置为 home history 在 shell 中键入命令不会将命令保存在历
  • 最少输入命令行计算器 - tcsh 与 bash

    我喜欢有一个方便的命令行计算器 要求是 支持所有基本算术运算符 用于求幂 加上括号用于分组 需要最少的输入 我不想调用一个程序与之交互 然后要求它退出 理想情况下 除了表达式本身之外 命令行中只应输入一个字符和一个空格 它应该知道如何忽略逗
  • 为什么 rm 不能按我的预期工作?

    我只想做一件简单的事 我在目录中得到了以下文件 AppInterface h baa PEMsg h PluginInterface h 然后我发出命令 ls grep v h rm rf 令我非常沮丧的是 baa不会被删除 但是这个 ls

随机推荐

  • 遗传算法 - 路径的交叉和变异算子

    我想知道是否有人知道图中路径的直观交叉和变异运算符 谢谢 问题有点老了 但问题似乎没有过时或解决 所以我认为我的研究仍然可能对某人有帮助 就 TSP 问题而言 突变和交叉是相当微不足道的 在最短路径或最优的情况下 每个突变都是有效的 即因为
  • Matplotlib 将文件保存为 JPEG 编码器错误

    我试图将 matplotlib 图保存为 JPEG 文件 但出现以下错误 我不确定这是否与我的安装或我的代码有关 因此我还附加了一个示例程序来执行该程序 该程序会产生以下错误 我将图形保存为 png 或 pdf 没有问题 只有 jpg 存在
  • 在 php 中访问 joomla 会话 - codeigniter

    我需要检查用户是否已登录 CodeIgniter 登录发生在 Joomla 网站上 我尝试了以下方法来初始化 joomla define JEXEC 1 define DS DIRECTORY SEPARATOR define JPATH
  • ... 操作员的名字是什么?

    Is the 运算符 扩展 运算符 根据其词法位置 参数位置与解构赋值 数组 参数位置等 具有两种不同的语义 或者它有两个名字 传播 和 休息 吗 这是同一个运算符 根据用途不同 名称也不同 其余属性 其余属性收集尚未被解构模式拾取的剩余自
  • React 中的 TextField 内无法识别新行 '\n'

    Context 我正在使用 Material UI TextField 并映射从数据库 MongoDB 获取的对象数组 就像是 state map item gt
  • 当模块导入 Angular 时,如何自动运行模块中的服务?

    我想知道在导入模块时如何从模块运行服务而无需任何手动服务注入并运行 就像RouterModule does NgModule imports BroserModule MyModuleWithServicesThatShouldAutoRu
  • .NET 正则表达式 - 创建字符串?

    我有一个正则表达式 用于提取文件夹名称的两个部分 0 9 8 0 9A Ba c BLAH 没问题 这将匹配 12345678 abc BLAH 我有 12345678 和 abc 分为两组 是否可以通过提供带有两个字符串的方法并将它们插入
  • Artifactory 失去了对当地文物的追踪

    我正在使用 Artifactory OSS 4 1 0 和 Java 1 8 0 51 当我尝试从 Artifactory Web 界面下载本地工件之一时 我得到以下信息 errors status 500 message Could no
  • Easy_install 没有安装 Mechanize?

    我正在从旧的 Win2K 机器迁移到新的 功能更强大的 Vista 64 位 PC 大部分迁移都进行得相当顺利 但我确实发现我需要重新安装所有与 Python 相关的工具 我已经下载了 mechanize 0 1 11 tar gz 文件并
  • 在 Matlab 中使用 svmtrain 内存不足

    我有一组数据正在尝试使用 SVM 来学习 对于上下文 数据的维数为 35 包含大约 30 000 个数据点 我之前用这个数据集在 Matlab 中训练过决策树 大约花了 20 秒 由于对错误率不太满意 我决定尝试 SVM 我第一次尝试svm
  • MySql 中的 EntityFunctions 支持

    我在 MySQL 中使用 EntityFunctions DiffMinutes 时遇到错误 下面是我的代码 return db DiscoveredDevices Where m gt EntityFunctions DiffMinute
  • 哪个 Hook 可以更改 WooCommerce 购物车页面中的数量更新?

    当购物车中的产品数量发生变化时 我试图触发一个功能 更具体地说 我想在客户修改购物车中的金额时运行此功能 我正在寻找购物车中剩余的金额 然后拦截更新购物车事件 目前我正在使用 add action woocommerce remove ca
  • 将 pandas 数据框中的单元格拆分为多行

    我有一个包含订单数据的数据框 每个订单都有多个包存储为逗号分隔的字符串 package package code 列 我想拆分包裹数据并为每个包裹创建一行 包括其订单详细信息 这是一个示例输入数据框 import pandas as pd
  • 带有返回旧值的 glob 的行输入运算符

    以下摘录代码在 perl 5 16 3 及更早版本上运行时 具有奇怪的行为 其中对行输入运算符中的 glob 的后续调用会导致 glob 继续返回以前的值 而不是重新运行 glob usr bin env perl use strict u
  • cin >> 对于较大的数字失败,但对于较小的数字有效?

    为什么cin失败 当我输入一个数字 如 3999999999 但它适用于较小的数字 如 5 include
  • 系统.绘图.图形

    我有一个与按给定中心旋转椭圆有关的问题 假设我有一个椭圆 应该是按用户给定的点旋转该椭圆 并且椭圆应该围绕该给定点旋转 我努力了 g RotateTransform g TranslateTransform Code Graphics g
  • 使用公共字段的最佳实践是什么?

    当我编写类时 我总是通过公共属性公开私有字段 如下所示 private int MyField public int MyField get return MyField 什么时候可以像这样公开一个公共字段 public int MyFie
  • 如何查看Python的__builtins__源代码?

    我可以让 python 打印源代码吗 builtins 直接地 或 更优选 源代码的路径名是什么 builtins 我至少知道以下几件事 builtins 是一个模块 通过输入type builtins 我已经尝试过针对这个问题的更一般情况
  • Guice:如何绑定所有类型的泛型?

    假设我的代码中经常重复以下模式 class A
  • 获取 csh 脚本时如何获取 `__FILE__`

    我有一个脚本 用于在调用 csh shell 中设置一些环境变量 其中一些变量取决于脚本的位置 如果该文件是正确的 csh 脚本 我可以使用 0 来访问 FILE 但如果我使用源运行脚本 它只会告诉我 csh 或 tcsh 由于我使用它在父