是的,所以我想自动化一个过程,我必须经常为一个我经常运行的程序,有时打开多个程序。
通常我打开终端并按顺序输入以下命令:
cd ExoClient
mono ExoClient.exe
(email)
(pass)
所以我在我的mac上创建了一个名为login.command的可执行文件。 我输入的是订单:
cd ExoClient
mono ExoClient.exe
example_email@gmail.com
example_password
所以前两行有效,但最后两行无效。我认为这可能是因为前2个命令是实际的mac命令,后两行只是输入。但我不知道如何确保输入输入。
或者它可能不起作用的另一个原因可能是因为我需要延迟输入。我想知道我可以在这里输入什么,让它在输入输入之前等待一秒钟。
感谢阅读,不胜感激。
答案 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;。