我是 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
,如果你cd
和readlooptest
在同一个目录中:
cat data | ./readlooptest
这与管道或cat
无关。实际问题是您需要指定readlooptest
的位置,因为它不在您的PATH
中。如果它在工作目录中,只需将./
添加到开头:
$ cat data | ./readlooptest