popen 和 libssh 之间相同命令的不同结果
Different results for the same command between popen and libssh
当我用popen 运行这个命令时,不用担心。
我得到第一行信息和文件内容。
if [ -f /dir/file.txt ]; then echo $(if [ -w /dir/file.txt ]; then echo 'ok'; else echo 'nok';fi) $(stat -c '%A %W %Y %s' /dir/file.txt);if [ $(stat -c%s /dir/file.txt) -gt 0 ]; then cat /dir/file.txt;fi;else echo 'false';fi
当我通过 libssh 运行 相同的命令时,我恢复 仅第一行 。
"file size" 字段 > 0.
你知道为什么吗?
我犯了大错
它必须 运行 一次一个命令。
在我的例子中,只有一个像这样的回声:
if [ -f /dir/file.txt ];then echo -e \"$(if [ -w /dir/file.txt ];then echo 'ok';else echo 'nok';fi) $(stat -c '%A %W %Y %s' /dir/file.txt) \n $(if [ $(stat -c%s /dir/file.txt) -gt 0 ];then cat /dir/file.txt;fi;)\";else echo 'false';fi
不回显和统计命令。
当我用popen 运行这个命令时,不用担心。
我得到第一行信息和文件内容。
if [ -f /dir/file.txt ]; then echo $(if [ -w /dir/file.txt ]; then echo 'ok'; else echo 'nok';fi) $(stat -c '%A %W %Y %s' /dir/file.txt);if [ $(stat -c%s /dir/file.txt) -gt 0 ]; then cat /dir/file.txt;fi;else echo 'false';fi
当我通过 libssh 运行 相同的命令时,我恢复 仅第一行 。
"file size" 字段 > 0.
你知道为什么吗?
我犯了大错
它必须 运行 一次一个命令。
在我的例子中,只有一个像这样的回声:
if [ -f /dir/file.txt ];then echo -e \"$(if [ -w /dir/file.txt ];then echo 'ok';else echo 'nok';fi) $(stat -c '%A %W %Y %s' /dir/file.txt) \n $(if [ $(stat -c%s /dir/file.txt) -gt 0 ];then cat /dir/file.txt;fi;)\";else echo 'false';fi
不回显和统计命令。