Jon*_*pez 17 command-line shell
我有大约 20 个命令,我必须将所有这些发送到 Unix shell 并复制结果,但我不知道该怎么做。
我不确定我有什么 shell,因为它是一个连接到移动网络管理的小程序,使用这个小程序我们可以按行发送命令并通过尖叫接收结果,因此我不能使用脚本发送命令。
命令 1 - 与服务器连接。
等到命令 1 完成
命令 2 - 更新来自服务器 1 的所有信息完成
等待。
命令 3。获取一些参数。
...以及更多这样的命令。
我试着用cmd1 | cmd2 | cmd3
和 cmd1 & cmd2 & cmd3和cmd1;cmd2
问题在于cmd1它连接到 RNC(网络元素)并需要大约 15 秒,然后cmd2才有意义。但只适用于第一个 cmd。任何线索,如何运行这个?
fro*_*utz 21
通常只是cmd1;cmd2;cmd3;cmd4(如果您想将其写在一行上),或者cmd1 && cmd2 && cmd3 && cmd4在 cmd2 失败时不想运行 cmd3 时使用。
或者,;您可以每行只写一个命令。
cmd1
cmd2
cmd3
cmd4
Run Code Online (Sandbox Code Playgroud)
如果您希望命令在后台并行运行,您还可以使用
cmd1 &
cmd2 &
cmd3 &
cmd4 &
wait # for cmd1-4 to finish
Run Code Online (Sandbox Code Playgroud)
这些方法中的任何一个也可以放在 shell 脚本中。在 shell 脚本中编写的内容与在实际 shell 中编写的内容之间几乎没有区别。
只需使用一个脚本,一个包含依次运行的命令的文件,例如:
#!/bin/sh
command-01
command-02
...
command-20
Run Code Online (Sandbox Code Playgroud)
第一行 (shebang) 告诉使用 运行以下命令/bin/sh,使文件可执行 ( chmod u+x your-little-script) 然后您可以通过 运行它./my-little-script。这样你就不会遗漏任何一步;-)
阅读shell的手册,它提供了完整的编程语言。检查bash(1)这是否是可用的,否则是 Korn shell ksh(1)。它们提供了许多有用的功能来控制脚本中的控制流(或交互地)。
| 归档时间: |
|
| 查看次数: |
106476 次 |
| 最近记录: |