我有使用nohup调用shell B的shell A.
SHELL A:
echo "\r\n OS1 : $BASH \r\n"
echo "\r\n OS2 : $SHELL \r\n"
$scriptB="B.sh"
(
nohup sh $scriptB $* >> test.log 2>&1
echo process finalized
exit
)
SHELL B:
echo "\r\n OS1 : $BASH \r\n"
echo "\r\n OS2 : $SHELL \r\n"
在shell A中我得到了回声结果:
OS1 : /usr/bin/bash
OS2 : /usr/bin/sh
在shell B中我得到了回声结果:
OS1 :
OS2 : /usr/bin/sh
为什么bash在通话中被清空了?如何在下标中继续使用bash?
这导致我在bash中可用但不是sh
的某些命令中出现语法错误答案 0 :(得分:0)
试试这个:
档案 A.sh
echo "\r\n OS1 : $BASH \r\n"
echo "\r\n OS2 : $SHELL \r\n"
(
nohup sh ./B.sh $* >> test.log 2>&1
echo process finalized
exit
)
并保持文件B不变,它为两者打印出相同的输出。