首页 > 解决方案 > 无法在终端命令行上将数据文件编入脚本文件 (bash)

问题描述

我是 bash 的新手,我无法使用 bash 对文件进行分类并在终端上使用管道命令。

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

$ cat data | readlooptest

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

-bash: readlooptest: command not found

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

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

标签: bashmacosunixcommand-lineterminal

解决方案


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

因此,对于您的管道cat,如果您cd与以下目录位于同一目录中readlooptest

cat data | ./readlooptest

推荐阅读