【发布时间】:2019-05-05 02:08:48
【问题描述】:
当尝试将所有输出记录到 FTP 会话的变量中时,该变量为空。我尝试了以下变体,结果都一样:
OUT=$(ftp -in $FTP_HOST << END_SCRIPT
quote USER $FTP_USER
quote PASS $FTP_PASS
binary
cd /home/ftp/files
get test.txt
quit
END_SCRIPT
)
echo $OUT
变体 #2:
OUT=$(ftp -in $FTP_HOST 2>&1 << END_SCRIPT
quote USER $FTP_USER
quote PASS $FTP_PASS
binary
cd /home/ftp/files
get test.txt
quit
END_SCRIPT
)
echo $OUT
还有其他地方可以写入输出吗?
【问题讨论】:
-
$(...)语法只会捕获stdout上的内容。任何打印到stderr或写入终端的内容都不会被捕获。如果您尝试记录整个会话,您是否考虑过使用script命令?