在stdin中保留内容以便读入另一个脚本

时间:2018-01-16 02:30:18

标签: linux bash

如果我想编写一个脚本(A),它将调用另一个将从stdin读取输入的脚本(B),如何将文件内容存储到A中的stdin,并在A中调用B和那么B会读入stdin的输入吗?

2 个答案:

答案 0 :(得分:2)

您可以使用管道。 例如: filecontent

Michael

scriptA.sh

#!/bin/bash

cat filecontent | ./scriptB.sh

scriptB.sh

#!/bin/bash

read -p "Name:" name
echo "Hello, $name"

运行脚本scriptA.sh时。输出将是:

[root@localhost ~]# ./scriptA.sh
Hello, Michael

答案 1 :(得分:1)

不确定您的真正需求,但从逻辑上看,它可能如下所示:

# A.sh
cat > /a/tmp/file
/script/to/B < /a/tmp/file

如果您没有特殊要求,那么它可以是:

# A.sh
/script/to/B

关键是子进程将从其父进程继承已打开的文件。