【问题标题】:Change directory and execute file in one command更改目录并在一个命令中执行文件
【发布时间】:2023-03-02 23:32:01
【问题描述】:

当我想执行一个文件时,似乎我总是必须先“cd”到该文件的目录才能执行它,除非它因 can't-find-my-dataz 类型错误而失败。

我怎样才能避免键入两个命令来执行一个程序?

例子:

cd /usr/local/bin/minecraft/
java -Xms512M -Xmx2048M -jar minecraft.jar

我怎样才能把它变成一行,以便在 Gnome3 中创建自定义启动器时将它作为我的 Exec=_ 行?

【问题讨论】:

    标签: linux bash fedora launcher gnome-3


    【解决方案1】:

    cd /usr/local/bin/minecraft/ && java -Xms512M -Xmx2048M -jar minecraft.jar 应该这样做

    【讨论】:

    • +1:这个命令的好处是cd失败了,java-command甚至不会被执行
    • 我正在使用 Python os.system("start /B start cmd.exe @cmd /k cd && ") 但第二个命令结束在我的更改目录命令之前执行,因此失败,有什么解决方法吗?谢谢
    【解决方案2】:

    我再次用一些扩展来回答这个问题,以便其他人可能会觉得这很有用。

    cd /usr/local/bin/minecraft/ && java -Xms512M -Xmx2048M -jar minecraft.jar
    

    这个命令肯定行。但运行此命令后,您将停留在/usr/local/bin/minecraft/ 目录中。而且,如果您在 bash 脚本 中使用此命令,则后面的所有命令都将在此目录中执行。

    如果您想在所需目录中运行命令并立即返回到您所在的位置,请用 括号 将命令括起来,即

    (cd /usr/local/bin/minecraft/ && java -Xms512M -Xmx2048M -jar minecraft.jar)
    

    【讨论】:

      猜你喜欢
      • 2021-10-03
      • 2021-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-17
      • 2021-05-27
      • 1970-01-01
      相关资源
      最近更新 更多