【问题标题】:Linux shell commands executionLinux shell 命令执行
【发布时间】:2017-05-15 12:13:24
【问题描述】:

我需要从终端执行这样的命令:

test /home/root/myimg.jpg

其中 test 是一个可执行文件,myimg.jpg 是我传递给 exe 文件的图像。

图片可能是添加到 /home/root 目录的最后一个文件,我可以在终端输入 ls /home/root | tail -n 1 来查看它。

我需要编写一个别名,允许我传递保存在目录中的最新图像。我该怎么做 ?因为是我需要通过的最后一张图片,而且它的名字每次都会改变!!!

非常感谢您的每一个回答:)

【问题讨论】:

  • 请注意test 是一些现有 命令并且通常是内置的shell。将您的可执行文件命名为其他名称,例如andreastest

标签: linux command alias execution


【解决方案1】:
alias name='test $(ls /home/root | tail -n 1.)'

应该做的工作。 解释: $(command) 用命令的输出替换自己

【讨论】:

  • 我刚刚尝试了提出的两种解决方案,但都不起作用:(
  • 更准确地说,在exe文件的源代码中有指令img=imread(argv[1])。功能条目是我使用命令 test /home/root/myimg.jpg 传递给 exe 的图像
  • 你用的是什么外壳?你可以用“echo $SHELL”找到它
  • 我正在使用基于 linux 的 Yocto..但是,当我输入 echo $SHELL 时,它对我说“/bin/sh”
  • 奇怪的是应该在 sh 中工作。是否有错误消息,如果是,它说什么