好的,我又来了,与 ssh 作斗争。我正在尝试根据令牌从远程日志文件中检索一些数据。我正在尝试通过 ssh 在 egrep 命令中传递多个令牌:
IFS=$'\n'
commentsArray=($(ssh $sourceUser@$sourceHost "$(egrep "$v" /$INSTALL_DIR/$PROP_BUNDLE.log)"))
echo ${commentsArray[0]}
echo ${commentsArray[1]}
commax=${#commentsArray[@]}
echo $commax
其中 $v 类似于下面,但它的长度是动态的。这意味着它可以有许多由管道分隔的文件名。
UserComments/propagateBundle-2013-10-22--07:05:37.jar|UserComments/propagateBundle-2013-10-22--07:03:57.jar
我得到的输出是:
oracle@172.18.12.42's password:
bash: UserComments/propagateBundle-2013-10-22--07:03:57.jar/New: No such file or directory
bash: line 1: UserComments/propagateBundle-2013-10-22--07:05:37.jar/nouserinput: No such file or directory
0
值得注意的是,我的日志文件数据中有空格。因此,在我给出的代码段中,我想要提取的实际注释在 jar 文件名之后开始,例如:UserComments/propagateBundle-2013-10-22--07:03:57.jar/
实际的评论是“新生活从这里开始”,但日志显示我们实际上是在“新生活”之前得到它,然后它在太空中中断。我尝试给 IFS 但没有用。可能我需要在遥控器上提供它,但我不知道该怎么做。有什么帮助吗?