shell 脚本中未识别变量
Variable Not getting recognized in shell script
我使用以下 shell 脚本在我的集群上 运行 进行模拟。
#PBS -N 0.05_0.05_m_1_200k
#PBS -l nodes=1:ppn=1,pmem=1000mb
#PBS -S /bin/bash
#$ -m n
#$ -j oe
FOLDER= 0.57
WDIR=/home/vikas/ala_1_free_energy/membrane_200k/restraint_decoupling_pullinit_$FOLDER
cd /home/vikas/ala_1_free_energy/membrane_200k/restraint_decoupling_pullinit_$FOLDER
LAMBDA= 0.05
/home/durba/gmx455/bin/mdrun -np 1 -deffnm md0.05 -v
############################
现在我的问题是我的脚本无法识别变量 FOLDER 并抛出错误
couldn't find md0.05.tpr
存在于文件夹中。如果我在 $folder 的地方写 0.57,它工作正常,这让我觉得它没有识别变量 FOLDER。 LAMBDA 在 cases.If 中得到了完美的认可。有人可以在这里帮助我,我将不胜感激。
=
和您希望分配给变量的值之间不应有 space:
FOLDER="0.57"
WDIR="/home/vikas/ala_1_free_energy/membrane_200k/restraint_decoupling_pullinit_$FOLDER"
cd "/home/vikas/ala_1_free_energy/membrane_200k/restraint_decoupling_pullinit_$FOLDER"
LAMBDA="0.05"
/home/durba/gmx455/bin/mdrun -np 1 -deffnm md0.05 -v
############################
我添加的所有双引号 ""
对于这个示例来说并不是绝对必要的,但是开始使用它们是一种很好的做法。
我使用以下 shell 脚本在我的集群上 运行 进行模拟。
#PBS -N 0.05_0.05_m_1_200k
#PBS -l nodes=1:ppn=1,pmem=1000mb
#PBS -S /bin/bash
#$ -m n
#$ -j oe
FOLDER= 0.57
WDIR=/home/vikas/ala_1_free_energy/membrane_200k/restraint_decoupling_pullinit_$FOLDER
cd /home/vikas/ala_1_free_energy/membrane_200k/restraint_decoupling_pullinit_$FOLDER
LAMBDA= 0.05
/home/durba/gmx455/bin/mdrun -np 1 -deffnm md0.05 -v
############################
现在我的问题是我的脚本无法识别变量 FOLDER 并抛出错误
couldn't find md0.05.tpr
存在于文件夹中。如果我在 $folder 的地方写 0.57,它工作正常,这让我觉得它没有识别变量 FOLDER。 LAMBDA 在 cases.If 中得到了完美的认可。有人可以在这里帮助我,我将不胜感激。
=
和您希望分配给变量的值之间不应有 space:
FOLDER="0.57"
WDIR="/home/vikas/ala_1_free_energy/membrane_200k/restraint_decoupling_pullinit_$FOLDER"
cd "/home/vikas/ala_1_free_energy/membrane_200k/restraint_decoupling_pullinit_$FOLDER"
LAMBDA="0.05"
/home/durba/gmx455/bin/mdrun -np 1 -deffnm md0.05 -v
############################
我添加的所有双引号 ""
对于这个示例来说并不是绝对必要的,但是开始使用它们是一种很好的做法。