【问题标题】:write to terminal via bash script通过 bash 脚本写入终端
【发布时间】:2016-11-20 10:14:30
【问题描述】:

我必须运行数百次模拟并扫描输出文件中的某个变量。为了运行程序,我需要编写

$SIMPLESIM/simplesim-3.0/sim-outorder -config ../../config/tmp.cfg bzip2_base.i386-m32-gcc42-nn dryer.jpg

到终端,其中 tmp.cfg 是我将为每次模拟修改的配置文件。运行它会输出一个我通过 tmp.cfg 命名的文件。当我将它直接输入终端时,这显然有效,但是,在 bash 脚本中,运行此命令会给我错误

simplesim-3.0/sim-outorder no such file or directory

我相信这与 $ 符号有关?感谢您的帮助。

【问题讨论】:

  • 您是否在脚本中定义了 SIMPLESIM?
  • 我不关注。你的定义是什么意思?当我在终端中键入上述命令时,它可以完美运行,但当我在我的 bash 文件中将其作为一行运行时就不行了。我什至不确定 $SIMPLESIM 部分是什么意思,我认为它与文件路径有关?
  • 只需在终端中回显 $SIMPLESIM,您得到的值是什么 /usr/tmp,在 bash 脚本中执行 SIMPLESIM=/usr/tmp
  • 成功了!太感谢了。所以我猜 $SIMPLESIM 是我正在使用的某种变量/快捷方式,我所要做的就是定义它。

标签: bash terminal


【解决方案1】:

在调用任何命令之前,必须在 $PATH 变量中定义其路径,否则您必须手动提供完整路径才能调用它。 所以在脚本中定义 SIMPLESIM 到路径,比如 SIMPLESIM=/usr/bin ,这个 /usr/bin 仅供参考。要知道路径,请在终端中回显 $SIMPLESIM 并查看路径 并调用命令 $SIMPLESIM/simplesim-3.0/sim-outorder -config ../../config/tmp.cfg bzip2_base.i386-m32-gcc42-nn dry.jpg

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-07
    • 1970-01-01
    • 2017-10-09
    • 2012-04-14
    • 2020-10-06
    • 1970-01-01
    相关资源
    最近更新 更多