我有这个脚本
#!/bin/bash
MVAR=($(su - git -C "sftp user@xxx.xxx.xxx.xxx << EOF
pwd
EOF
" ))
echo ${MVAR[2]}
输出看起来像这样
Connected to xxx.xxx.xxx.xxx.
Remote
如何修改脚本
Connected to xxx.xxx.xxx.xxx.
Remote working directory:
答案 0 :(得分:0)
我认为由于IFS (Internal Field Separator)而在空格上分裂。尝试将IFS
定义为newlines:
$ IFS=$'\n' MVAR=($(su - git -C "sftp user@xxx.xxx.xxx.xxx << EOF
pwd
EOF
" ))
我可以让你的命令在我的机器上运行。我用这个来测试本地并获得远程密码:
$ IFS=$'\n' MVAR=($(sftp -b <(echo pwd) localhost))
$ echo ${abc[1]}
sftp> pwd
$ echo ${abc[2]}
Remote working directory: /home/cbliard