如果我想编写一个脚本(A),它将调用另一个将从stdin读取输入的脚本(B),如何将文件内容存储到A中的stdin,并在A中调用B和那么B会读入stdin的输入吗?
答案 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
关键是子进程将从其父进程继承已打开的文件。