通过可执行文件在mac上使用终端

时间:2018-04-21 19:00:47

标签: macos shell

是的,所以我想自动化一个过程,我必须经常为一个我经常运行的程序,有时打开多个程序。

通常我打开终端并按顺序输入以下命令:

cd ExoClient
mono ExoClient.exe
(email)
(pass)

所以我在我的mac上创建了一个名为login.command的可执行文件。 我输入的是订单:

cd ExoClient
mono ExoClient.exe
example_email@gmail.com
example_password

所以前两行有效,但最后两行无效。我认为这可能是因为前2个命令是实际的mac命令,后两行只是输入。但我不知道如何确保输入输入。

或者它可能不起作用的另一个原因可能是因为我需要延迟输入。我想知道我可以在这里输入什么,让它在输入输入之前等待一秒钟。

感谢阅读,不胜感激。

2 个答案:

答案 0 :(得分:1)

我在mac谣言上发了类似的帖子。 解决方案是:

cd ExoClient
mono ExoClient.exe email pass

答案 1 :(得分:0)

首先要了解的是命令行,其中有很多不同的东西在起作用。

第一个是命令本身,这些命令通常是在脚本中输入或运行的。

第二个是"标准输入"或STDIN,这是程序接受键盘输入的地方。就你而言,在使用shell时没有区别,但对于shell本身而言,存在巨大差异。该程序需要STDIN的输入。 shell脚本被告知要运行两个后续命令

而是试试这个:

cd ExoClient
echo "example_email@gmail.com\
example_password" | mono ExoClient.exe

|字符表示"发送输出到"粗略地说,echo的输出会转到mono程序。输出或STDOUT是shell想要处理的另一件事。

或者有一个包含这两行的辅助文件,并将其作为"输入":

cd ExoClient
mono ExoClient.exe < login.txt

其中login.txt有两行,<表示&#34;从此文件获取输入&#34;。