Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 通过可执行文件在mac上使用终端_Macos_Shell - Fatal编程技术网

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

Macos 通过可执行文件在mac上使用终端,macos,shell,Macos,Shell,对,所以我想自动化一个过程,对于一个我经常运行的程序,我必须经常做这个过程,有时我会打开多个程序 通常,我打开终端并按顺序键入以下命令: cd ExoClient mono ExoClient.exe (email) (pass) 因此,我在mac上为这个名为login.command的可执行文件制作了一个。 我键入了以下命令: cd ExoClient mono ExoClient.exe example_email@gmail.com example_password 因此,前两行可以工

对,所以我想自动化一个过程,对于一个我经常运行的程序,我必须经常做这个过程,有时我会打开多个程序

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

cd ExoClient
mono ExoClient.exe
(email)
(pass)
因此,我在mac上为这个名为login.command的可执行文件制作了一个。 我键入了以下命令:

cd ExoClient
mono ExoClient.exe
example_email@gmail.com
example_password
因此,前两行可以工作,但后两行什么都不做。我认为这可能是因为前两条命令是实际的mac命令,最后两行只是输入。但我不知道如何确保输入被输入

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


感谢阅读,如果有任何帮助,我们将不胜感激。

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

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

第二种是“标准输入”或标准输入法,即程序接受键盘输入的地方。就您所关心的而言,在使用shell时没有什么区别,但是对于shell本身来说有很大的区别。那个程序需要标准输入。命令shell脚本运行两个后续命令

相反,请尝试以下方法:

cd ExoClient
echo "example_email@gmail.com\
example_password" | mono ExoClient.exe
|
字符粗略地表示“发送输出到”,因此
echo
的输出将传递到
mono
程序。输出或标准输出是shell想要处理的另一件事

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

cd-ExoClient
mono ExoClient.exe

其中
login.txt
有两行,而且
我在mac谣言上发表了类似的帖子。
解决办法是:

cd ExoClient
mono ExoClient.exe email pass

批处理文件标记适用于Microsoft操作系统。感谢您的帮助,我尝试了第一种方法。当我运行shell时,出现了这样一条消息:您可能需要在
login.txt
中添加另一个空行作为“返回”,因为它似乎在等待输入结束。尝试了方法二,出现消息说找不到目录。如果该文件与
ExoClient.exe不在同一目录中,则需要指定该文件的路径。简单的方法是将该文件移动到同一目录中。请尝试,谢谢。它没有给我无法找到目录的响应,但它给了我与方法1相同的结果。它不会进入电子邮件并通过。
cd ExoClient
mono ExoClient.exe email pass