![在 nohup 模式下调用时是否可以从脚本获取读取命令的值](https://linux22.com/image/160451/%E5%9C%A8%20nohup%20%E6%A8%A1%E5%BC%8F%E4%B8%8B%E8%B0%83%E7%94%A8%E6%97%B6%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E4%BB%8E%E8%84%9A%E6%9C%AC%E8%8E%B7%E5%8F%96%E8%AF%BB%E5%8F%96%E5%91%BD%E4%BB%A4%E7%9A%84%E5%80%BC.png)
前任。我有一个脚本 Test.sh
#!/bin/sh
echo "/n read the value"
read info
if [ "$info" = 1 ];
then
echo "yes"
else
echo "no"
fi
我想以 nohup 模式从另一个脚本(test2.sh)调用 Test.sh 脚本。有什么方法可以通过传递参数/任何其他方式来提供“读取信息”的值。
测试2.sh
#!/bin/sh
Test.sh
答案1
是的,由将其传递到标准输入。一种方法是使用管道(演示如何反转两条线):
$ cat > test.sh <<'EOF'
> #!/bin/sh
> read -r first
> read -r second
> printf '%s\n' "$second" "$first"
> EOF
$ chmod u+x test.sh
$ printf '%s\n' foo bar | nohup ./test.sh
nohup: appending output to 'nohup.out'
$ cat nohup.out
bar
foo