【问题标题】:How can i get name of launched cmd?如何获取已启动 cmd 的名称?
【发布时间】:2014-08-06 16:42:23
【问题描述】:

我在linux下运行.cmd文件,为了运行SAS程序,我需要动态获取它已经启动的.cmd文件名。

例如如果启动的文件是“generate_1234.cmd”,我需要解压“generate_1234”。

我一直在寻找解决方案,但在启动 .cmd 文件后找不到合适的命令来获取文件名。

请注意,我对 LInux 的了解接近于 0。

10 倍

【问题讨论】:

  • 什么是.cmd?在 linux 文件扩展名无关紧要。这是什么文件,是shell脚本吗?
  • 您能否将命令行参数传递给您的 .cmd 文件(无论是什么...)。按照惯例,第 0 个参数通常是程序的名称。例如,在 shell 脚本中,$0 是脚本名称,$1 是第一个参数,$2 是第二个参数。
  • 你确定你没有像命令行那样错误地引用 Linux 吗? .cmd 文件在 windows 命令提示符下运行,即 cmd.exe。

标签: linux filenames


【解决方案1】:

如果这是一个 shell 脚本,您可以使用 $0 提取文件名。 $[number] 是 bash 中引用命令行参数的变量,其中 $0 是正在执行的实际文件的名称。如果您只需要不带扩展名的文件名,则可以使用 sed。例如

name=$(echo $0 | sed -e "s/\..\+//")

这会将名称设置为“generate_1234”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    相关资源
    最近更新 更多