我需要运行一个程序,该程序需要input.txt
文件中列出的某些输入。我希望在执行程序时能够调用这个文件,这样我就可以在执行其余代码之前修改input.txt
文件。
我在Mac OS x上运行。
我有的是:
call system('notes input.txt')
我得到以下消息:
sh: notes: command not found
是否有一种特殊的方式来调用应用程序notes
,或者是我的错误在其他地方?
您没有在SYSTEM函数发送给命令shell的字符串("notes input.txt")中指定完整的文件系统路径。这意味着您希望在shell的$PATH中有一个名为"notes"的二进制文件,但是shell告诉您这不是真的。Notes应用程序不命名为"Notes",它也不在shell的$PATH所指向的某个地方。这就是得到这个错误消息的原因。尝试将要运行的二进制文件和要编辑的文件的完整路径传递给shell:
CALL SYSTEM("/Applications/Notes.app/Contents/MacOS/Notes /path/to/input.txt")
(注意:这个路径是我Mac上的Notes应用程序所在的路径;YMMV)。
Try
call system("/Applications/TextEdit.app/Contents/MacOS/TextEdit /path/to/input.text")
/Applications/TextEdit.app
位置有点误导,因为它实际上是一个文件夹。在Finder中,如果你选择点击它,你可以选择查看内容(不确定这个选项的确切措辞,因为我现在没有mac在我身上)。或者输入cd /Applications/TextEdit.app; ls
查看内容。可执行文件应该存储在如上所示的子目录中。