无法将数据文件分类到终端命令行上的脚本文件 (bash) 中



我是 bash 的新手,我无法使用 bash 在终端上使用管道命令。

这是我在终端命令行上尝试的

$ cat data | readlooptest

但是,当我使用管道时,我总是收到此消息 |

-bash: readlooptest: command not found

我有一个名为 readlooptest 的脚本和一个数据文件

读取循环测试的脚本内容

#!/bin/bash
read myLine
sum=0
for i in $myLine
do
sum=`expr $sum + $i`
done
echo "sum is: $sum"

数据文件内容是

6 4 4 7 7 

因此,一旦在终端中输入命令,输出应该是

$ chmod +x readlooptest
$ cat data | readlooptest
sum is : 28

但是我得到

-bash: readlooptest: command not found

如果readlooptest未安装在您的某个$PATH目录中,则必须提供它的路径才能运行它。

所以对于你的管道cat,如果你cdreadlooptest在同一个目录中:

cat data | ./readlooptest

这与管道或cat无关。实际问题是您需要指定readlooptest的位置,因为它不在您的PATH中。如果它在工作目录中,只需将./添加到开头:

$ cat data | ./readlooptest

最新更新