bash和mono:检查exe是否可以运行

时间:2018-11-21 14:19:06

标签: bash mono

我已经看到了几种检查bash(for instance here on stackoverflow)中是否存在命令的选项。我也知道如何检查文件是否存在/是否可执行。 不幸的是,这些选项都没有起作用。

我的问题是:

如果应使用mono在脚本中运行exe文件,如何在运行命令之前确保获得正确的exe文件位置?

在我的脚本中,我想确保可以运行以下内容: mono /home/user/location/of.exe -option=option

我尝试过:

alias myExe='mono /home/user/location/of.exe'
numCharCommandHelp=$(echo $( myExe --help 2>/dev/null) | wc -c )
echo $numCharCommandHelp
if [ $numCharCommandHelp -eq 1 ]; then
  echo "Program myExe should be installed."
  exit
fi

为grep回显3252,但对于使用mono的命令回显1,尽管它应该更多。 (对于诸如gerpejsfadjl之类的不存在的命令,它也会返回1。)

if [ $( ${BASH_ALIASES[myExe]} --help 2>/dev/null | wc -c ) -eq 0 ]; then
  echo "Program myExe should be installed."
  exit
fi

始终退出并显示“应该安装Program myExe。”,尽管它存在并且可以使用。

if ! command -v myExe >/dev/null 2>&1 ; then
  echo "Program myExe should be installed."
fi

始终退出并显示“应该安装Program myExe。”,尽管它存在并且可以使用。

我还尝试将返回的错误代码与$?一起使用,但它返回的是255而不是0。

最后,我也尝试调用命令

myExe --help && echo "MyExe ran successful."

但是“ MyExe运行成功。” 未显示,尽管终端的输出显示了预期的帮助消息。

0 个答案:

没有答案