获取 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 脚本的具体情况 我让该批处理运行一堆不同的构建风格并运行整夜 如果我在操作过程中发生了一些事情 我想进去添加额外的命令 或者注释掉未执行的命令 如果
  • 在 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
  • 如何在 Linux 中针对分段错误生成核心转储?

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

    我正在运行 CentOS 7 并且 tcsh 脚本出现问题 我有一个名为 quittest 的简单脚本 bin tcsh echo Simple Test exit 0 当我从终端运行 quittest 时 我得到 Simple Test
  • 让 ssh 在目标机器上后台执行命令

    这是一个后续问题如何在 shell 脚本中使用 ssh https stackoverflow com questions 29061 how do you use ssh in a shell script问题 如果我想在远程机器上执行在
  • 如何从两个列表中删除一个列表中的目录?

    我正在编写一个 c shell 脚本 其中我正在两个字符串中 grep 两个不同的目录 我想删除相同目录的名称 我只想要两个目录中唯一的目录 而忽略重复的目录 我对如何做到这一点有点困惑 sta views 和 pnr views 字符串中
  • npm run 脚本中参数的 if-else

    我想调用不同的其他脚本 具体取决于是否给出参数 paramtest if z 1 then echo Foo 1 else echo Bar fi npm 运行参数测试 应该给 酒吧 npm run paramtest 无论如何 应该给出
  • 获取 csh 脚本时如何获取 `__FILE__`

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

    我希望我的 tcsh 脚本启动一个编辑器 例如 vi emacs bin tcsh vi my file 这将使用 my file 启动 vi 但首先显示警告 Vim 警告 输出不是到终端 并且我的击键不会出现在屏幕上 在我杀死 vi 后
  • 仅显示 tcsh 或 bash 中符号链接的文件和文件夹

    基本上我想做以下事情 ls l someflags 或通过其他方式 只会显示符号链接的文件 所以输出看起来像 rw r r 1 username grp size date time filename gt somedir rw r r 1
  • 最少输入命令行计算器 - tcsh 与 bash

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

    我只想做一件简单的事 我在目录中得到了以下文件 AppInterface h baa PEMsg h PluginInterface h 然后我发出命令 ls grep v h rm rf 令我非常沮丧的是 baa不会被删除 但是这个 ls
  • C shell 脚本中是否有短路逻辑运算符?

    我认为 C shell 脚本的行为会像 C 一样 并对逻辑运算符使用短路求值 if e cache find monitor newer cache then endif 但在 if 语句中 即使第一个条件为真 也会检查第二个条件 从而给出

随机推荐

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

    我想知道是否有人知道图中路径的直观交叉和变异运算符 谢谢 问题有点老了 但问题似乎没有过时或解决 所以我认为我的研究仍然可能对某人有帮助 就 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 由于我使用它在父