我想将以下错误存储在变量中:
ssh -M -S /invalid/path/forwarder.socket -fnNT -Llocalhost:6301:remote_server:22 proxy_server
muxserver_listen bind(): No such file or directory
所以我尝试了:
result="$(ssh -M -S /invalid/path/forwarder.socket -fnNT -Llocalhost:6301:remote_server:22 proxy_server)"
但这让 bash 悬而未决。我尝试用nohup ... &
或不用“-T”代替“-f”,等等,但没有任何效果。
我知道我可以使用临时文件 -$(...) > file
但我真的更喜欢内存中的解决方案。有什么建议么?
答案1
我会将其重定向到 tmp 文件。
ssh -M -S /invalid/path/forwarder.socket -fnNT -Llocalhost:6301:remote_server:22 proxy_server 2> /tmp/tunnel.err 1> /tmp/tunnel.out
ERROUT=$(cat /tmp/tunnel.err)
并使用and检查该文件STDOUT=$(cat /tmp/tunnel.out)