【LAMMPS翻译系列】shell命令

shell命令用来执行系统shell命令。

使用语法

shell cmd args
  • cmd:cdormkdirormvorrmorrmdir或其他任何命令。
  • args:命令的参数与unix shell相近。

使用举例

shell cd sub1
shell cd ..
shell mkdir tmp1 tmp2 tmp3
shell rmdir tmp1
shell mv log.lammps hold/log.1
shell rm TMP/file1 TMP/file2
shell my_setup file1 10 file2
shell my_post_process 100 dump.out

使用介绍

该命令用来执行shell命令。一些简单的基于文件的shell命令是直接支持的,与unix风格一致。没有列在上面的命令,会被直接传递个C库函数system(),调用系统shell中的相应命令。

这是在你的输入脚本中调用其他命令的方法。比如,你希望将文件移动到另外的位置以便运行输入脚本的下一部分;或者你可以运行一个程序来提前处理要输入给LAMMPS的数据;再或者你可以运行一个程序来处理LAMMPS输出的数据。

除了cd这个命令之外,其他所有的命令都是在一个处理器上执行的,因此相关的文件或目录不会被多个处理器同时操作。

  • cd命令执行unix的cd命令,用来改变工作目录。所有下面的LAMMPS命令在读/写文件的时候都使用该目录。所有的处理器都执行该命令。
  • mkdir命令执行unix的mkdir命令,用来创建1个或多个目录。
  • mv命令执行unix的mv命令,用来重命名或移动一个文件或目录。
  • rm命令执行unix的rm命令,用来删除一个或多个文件。
  • rmdir命令执行unixrmdir命令,用来删除一个或多个目录。只有空目录才能被成功删除。

所有其他命令连同参数,会通过C库函数system(),直接传递给系统shell。

举个例子,下面的几行命令:

variable n equal 10
variable foo string file2
shell my_setup file1 $n ${foo}

与在unix/linux命令行下输入下面的命令是一样的:

% my_setup file1 10 file2

都是用运行可执行程序my_setup,并给了三个参数file1 10 file2。

使用限制

在这些命令被执行的时候,LAMMPS不会检测是否出错,也不会打印警告信息。比如如果指定的文件不存储,执行cd命令就不会做任何事情。

标签: lammps, lammps翻译

相关文章推荐

添加新评论 (无需注册,可直接评论)

已有 2 条评论

  1. [...]这里列出的设置对命令clear来说是例外:工作目录(命令shell)、日志文件状态(命令log)、echo状态(命令echo)以及输入脚本中的变量(命令variable)。[...]

  2. [...]jump, include, shell, variable[...]