csh - 采购 csh 脚本时如何获得 `__FILE__`

标签 csh tcsh

我有一个脚本,用于在调用 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"

关于csh - 采购 csh 脚本时如何获得 `__FILE__`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4337925/

相关文章:

linux - 如何计算字符串中的特定字符 - CSH

shell - tcsh 中的数值范围

linux - 使用 tee 和 sed 重定向

c - 为什么运算符在 CShell 中是右结合的,而在 C 中是左结合的?

linux - 检查 T 日期的文件,然后检查该文件中是否有任何内容

tcsh - tcsh 中的 If-then-else 语法

python - tcsh 中 python-shell 下划线变量的对应部分?

bash - 具有可变隐藏根前缀的 Tcsh 和/或 bash 目录补全

linux - 如何禁用 csh 的 precmd 输出日志到终端?

csh - 如何在 tcsh Shell 中检查变量是否为空?