2015-05-25 5 views
0

Когда я запускаю эту команду с помощью popen, не беспокойтесь.
Я получаю первую информационную строку и содержимое файла.Различные результаты для той же команды между popen и libssh

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 I восстанавливает только первую строку.
С полем «размер файла»> 0.

У вас есть идеи, почему?

ответ

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 

Не эхо и команды стат.

Смежные вопросы