Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 为什么在.bashrc中使用echo会导致rcp无效?_Linux_Ssh_Echo_Rcp - Fatal编程技术网

Linux 为什么在.bashrc中使用echo会导致rcp无效?

Linux 为什么在.bashrc中使用echo会导致rcp无效?,linux,ssh,echo,rcp,Linux,Ssh,Echo,Rcp,我最近一直在写“剧本”该项目旨在隔离和改进我们需要的所有bash shell工具和第三方软件版本的可维护性,以便您从.bashrc中获取这些工具的源代码,例如/opt/dev/scripts/tools.sh,并获取软件版本等的所有最新环境变量。作为本练习的一部分,我认为这是一个好主意在tools.sh中打印消息,显示脚本的当前版本,即 echo "************* Running Scripts version $SCRIPTS_VERSION *************" 问题是

我最近一直在写“剧本”该项目旨在隔离和改进我们需要的所有bash shell工具和第三方软件版本的可维护性,以便您从
.bashrc
中获取这些工具的源代码,例如
/opt/dev/scripts/tools.sh
,并获取软件版本等的所有最新环境变量。作为本练习的一部分,我认为这是一个好主意在
tools.sh
中打印消息,显示脚本的当前版本,即

echo "************* Running Scripts version $SCRIPTS_VERSION *************"
问题是这样做之后。包括
rcp
在内的所有工具都会显示此消息,
rcp
不起作用。为什么?修复该问题的唯一方法是仅当脚本从终端执行时才打印消息,而不是从ssh、rcp等其他终端执行

# only show version if running from a console, print only when 
# parent contains 'terminal' 
PARENT=`ps --no-heading -o %c -p $PPID`
if [ `echo $PARENT | grep 'terminal'` ]; then
  echo "************* Running Scripts version $SCRIPTS_VERSION *************"
fi

如果my
.bashrc
使用
echo
打印消息,有人能解释为什么
rcp
停止工作吗?

请尝试将信息打印为标准错误:
echo…>&2
可能的重复实际上可能的重复看起来非常相似。。。但是,在本例中,
rcp
tool,或者?