我需要编写一个 shell 脚本,它从另一个 shell 脚本(results.sh)读取输出并将结果写入一个平面文件。
基本上我们没有控制权和权限来更改 results.sh,但可以访问结果。
results.sh > log.txt
mapfile b < log.txt
输出将保存到log.txt
数组变量b
脚本a.sh
:
#!/usr/bin/env bash
echo $1
脚本b.sh
:
#!/usr/bin/env bash
while read line
do echo "read: $line"
done
测试:
chmod +x *.sh
a.sh "something" | b.sh
输出:
读:某事
您是否尝试过使用管道:
./results.sh | ./yourNewScript.sh > flat.txt
或者
bash results.sh | bash yourNewScript.sh > flat.txt
取决于您如何运行脚本(./script 需要文件具有可执行位 - chmod +x 脚本)。
使用 | results 直接将其输出发送到 yourNewScript。> 将 yourNewScript 的输出写入文件 flat.txt