我正在编写一个 bash 脚本以按特定顺序运行多个 python 程序,它看起来像这样:
#!/bin/bash
set -e
python prog1.py #make database
python prog2.py #plots
python prog3.py #more plots
这运行正常,但是当我注释掉第一行时:
#!/bin/bash
set -e
#python prog1.py #make database
python prog2.py #plots
python prog3.py #more plots
它崩溃了:
./python_progs.sh: line 3: plots: command not found
就好像它忽略了 'plots' 前面的 '#' 并试图将其作为代码运行。另一个奇怪的事情是这种情况并非一直发生,有时第二个代码运行没有问题,有时它会崩溃。我是否遗漏了一些关于在 bash 脚本中如何进行评论的基本知识?
对于下面评论的人,这里是确切的代码:
#!/bin/bash
set -e
python footprint_hex.py >> ./paper/qso_num.txt #this makes the footpring figures
python sed_db_read.py #makes the inital databases
python sed_db_read2.py #makes the new databases for lum and civ and modles
python sed_db_plots_paper.py #plots
python sed_db_plots_paper_png.py #plots
当没有注释行时,它可以正常工作,但是在注释掉第 3 行和第 4 行时,它会崩溃:
./compile_dbs.sh: line 5: and: command not found
当注释掉第 3、4 和 5 行时,它会崩溃:
./compile_dbs.sh: line 6: plots: command not found
我运行脚本的确切步骤是:
./compile_dbs.sh