2014-08-28 2 views
0

Я хочу, чтобы выполнить следующую команду оболочки в Objective-CКоманда работает в оболочке, но не Objective-C или C

sshfs -C -p 22 [email protected] ~/local/directory/path

с помощью команды system("sshfs -C -p 22 [email protected] ~/local/directory/path");

, но я получаю sh: sshfs: command not found в NSLog.

Если я копирую и вставляю его в терминал, он работает.

+0

Где вы запускаете программу из приложения или командной строки и где находится sshfs – Mark

+0

Программа запускается из приложения Cocoa, а sshfs находится в/Users/username/Projects – codenamepenryn

ответ

2

Путь, используемый приложением GUI не включает каких-либо изменений, внесенных в файлы оболочки в вашем домашнем каталоге (например, ~/.bashrc)

Один из способов заключается в использовании полный путь в системном вызове , (т. е./Users/username/Projects - ~ не будут автоматически расширены) В приложении Cocoa я бы использовал NSTask, чтобы дать больше контроля