Linux中运行sh命令出现/usr/bin/env: ‘bash\r’: No such file or directory解决方式及使用moltemplate遇到的坑

目的:使用moltemplate这个软件来生成lammps需要的data等文件

遇到的问题及解决方式

步骤:

一、下载moltemplate安装包
1.官网下载:http://www.moltemplate.org/
2.git下载:选择一个文件下下右键git bash(前提是安装了git),
git clonehttps://github.com/jewettaij/moltemplate.git
在这里插入图片描述
二、python安装相关包(前提是已经安装python)推荐python3以上版本
cmd切换到该文件夹,使用pip安装

pip install . --user

出现了以下错误:
在这里插入图片描述
解决办法:
1.找到相关版本python的目录下的python.exe将python3.exe改成python.exe
2.如果安装python比较多可以在环境变量中删除出错的python的环境变量
在这里插入图片描述
下载完成后添加环境变量:
在这里插入图片描述
三、在http://www.moltemplate.org/examples.html示例中下载相关的lt文件并放在一个文件夹中,cmd进入该文件夹,运行命令moltemplate.sh system.lt,但是会出现一闪而过没有结果,且文件夹中没有data文件且其它相关文件的出现。查询相关资料后发现需要使用Linux系统。
相关文档在如下图示中有介绍:
在这里插入图片描述
参考文献链接如下:
Moltemplate: A Tool for Coarse-Grained Modeling of Complex Biological Matter and Soft Condensed Matter Physics
doi:https://doi.org/10.1016/j.jmb.2021.166841
四、安装Linux
我采用的是windows商店里的windows子系统unbuntu20.04
下载完成之后进入windows文件中

cd /mnt/e #进入windows下的e盘
cd moltemplates_test #进入包括示例lt文件的文件夹

运行命令:moltemplate.sh system.lt
但是依然报如下错误:
在这里插入图片描述
经查阅资料发现是由于windows格式的shell多了个\r ,在linux中识别的方式不一样,这主要是因为bash后面多了\r这个字符的原因。在linux终端下,输出\r会什么都不显示,只是把光标移到行首。于是终端虽然输出了/usr/bin/env bash,但是碰到\r后,光标会被移到行首,接着输出了:No such file or directory把前面的覆盖掉了。可以参考:
https://stackoverflow.com/questions/29045140/env-bash-r-no-such-file-or-directory
解决办法
1.使用vim进入moltemplate.sh文件中

vim moltemplate.sh

2.键盘输入:set ff然后回车,:set ff=unix 然后保存退出,:wq!回车,问题解决。
重新输入sh命令后:
在这里插入图片描述
打开moltemplate_test文件:
在这里插入图片描述
已经成功生成data及in文件。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值