Система ("echo * > toto") возвращает ошибку
Когда я проверяю эту команду: system("echo * > toto") (файл toto существует)
Эта ошибка возвращается: bash: syntax error near unexpected token
"/ bin / echo x" '`
и я не понимаю почему. Заранее благодарю за советы.
1 ответ
Решение
Это может дать представление о том, что происходит:
$ echo * | tr '' '\ n' | сортировать> toto_a $ ls -d * | tr '' '\ n' | сортировать>toto_b ls: не может получить доступ к VirtualBox: нет такого файла или каталога ls: не может получить доступ к виртуальным машинам: нет такого файла или каталога $ diff -u0 toto_a toto_b --- toto_a 2014-06-30 18: 50: 41.939160184 +0200 +++ toto_b 2014-06-30 18: 50: 45.571160103 +0200 @@ -34,2 +33,0 @@ -VirtualBox -VMs
... теперь предполагается, что "system()" запускает сеанс bash для echo * >toto
Чтобы получить более предсказуемые результаты, можно использовать system("bash -c 'echo * > toto')
и, возможно, добавить абсолютный путь к toto
,