bash调用可执行文件没有这样的文件或目录

时间:2017-01-05 07:00:15

标签: bash

#!/bin/bash    
DIR=$(dirname "$0")
GPIO=$DIR/gpio-output
FPGACHECK=$("$GPIO -0" 2>&1)
echo $FPGACHECK

line 2: ./gpio-output -0: No such file or directory

我正在尝试调用这个二进制文件,它位于与我似乎无法运行的脚本相同的文件夹中,我已经尝试使用'eval'命令工作但是我不认为我得到了输出二进制文件的字符串是什么?

1 个答案:

答案 0 :(得分:0)

您需要将-0留在引号之外。在里面,它被视为二进制文件名的一部分(而不是二进制文件的参数)。此外,您还应该引用要回显的字符串,如下所示:

FPGACHECK=$("$GPIO" -0 2>&1)
echo "$FPGACHECK"

...或者如果您不需要FPGACHECK其他任何内容,只需让二进制文件的输出直接转到终端,而不是将其输出捕获到变量来简化它并回应:

"$GPIO" -0

另一件事:该论点应该是" -0",或者只是" 0"正如你在评论中所说的那样?