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