一个 bash 脚本中的多个任务
multiple task in one bash script
我正在尝试在一个 bash 脚本中执行三个任务。
我做的编码是:
#!/bin/bash
(cd TRAJ_OctylGlcTryp_C1/
&&
cpptraj zOctylgluTryC1.prmtop << EOF
trajin reImaged-OctylgluTryC1.nc 1 70000 500
trajout reImaged-OctylgluTryC1-500.nc netcdf
EOF
&&
cd ../)
也就是先进入目录TRAJ_OctylGlcTryp_C1和select几帧模拟数据,最后从文件夹中出来。
但是我得到这样的错误
./run_Select500Frames.sh: line 4: syntax error near unexpected token `&&'
./run_Select500Frames.sh: line 4: `&& '
有什么办法可以消除这个错误吗?
谢谢。
你可以这样写更简单:
#!/bin/bash
set -eu
pushd TRAJ_OctylGlcTryp_C1/ > /dev/null
cpptraj zOctylgluTryC1.prmtop << EOF
trajin reImaged-OctylgluTryC1.nc 1 70000 500
trajout reImaged-OctylgluTryC1-500.nc netcdf
EOF
popd > /dev/null
我建议 总是 在新 Bash 脚本的顶部使用 set -eu
。这样,如果命令失败,脚本将自行停止。从那里,我选择使用 pushd
和 popd
作为最后恢复旧工作目录的稍微更可靠的方法,剩下的就很简单了。根本没有 &&
。
我正在尝试在一个 bash 脚本中执行三个任务。
我做的编码是:
#!/bin/bash
(cd TRAJ_OctylGlcTryp_C1/
&&
cpptraj zOctylgluTryC1.prmtop << EOF
trajin reImaged-OctylgluTryC1.nc 1 70000 500
trajout reImaged-OctylgluTryC1-500.nc netcdf
EOF
&&
cd ../)
也就是先进入目录TRAJ_OctylGlcTryp_C1和select几帧模拟数据,最后从文件夹中出来。
但是我得到这样的错误
./run_Select500Frames.sh: line 4: syntax error near unexpected token `&&'
./run_Select500Frames.sh: line 4: `&& '
有什么办法可以消除这个错误吗? 谢谢。
你可以这样写更简单:
#!/bin/bash
set -eu
pushd TRAJ_OctylGlcTryp_C1/ > /dev/null
cpptraj zOctylgluTryC1.prmtop << EOF
trajin reImaged-OctylgluTryC1.nc 1 70000 500
trajout reImaged-OctylgluTryC1-500.nc netcdf
EOF
popd > /dev/null
我建议 总是 在新 Bash 脚本的顶部使用 set -eu
。这样,如果命令失败,脚本将自行停止。从那里,我选择使用 pushd
和 popd
作为最后恢复旧工作目录的稍微更可靠的方法,剩下的就很简单了。根本没有 &&
。