bash 脚本在注释行后无法执行

标签 bash unix

为什么我无法用这个 # 注释完成我的 bash 脚本? 我的脚本没有通过注释行执行。 是否与在前一行中使用 \ 反斜线有关?

"$PSQL_HOME"/psql -h $HOST_NM     \
                      -p $PORT    \
                      -U postgres \
                      -v v1=$1    \
                      -v v2=$_load \
#                     -f Test.sql
                      -f Test2.sql

最佳答案

你不能那样做。 \ 将当前行连接到下一行,所以 bash 看到的是:

"$PSQL_HOME"/psql ... -v v1=$1 -v v2=$_load # -f Test.sql
                      -f Test2.sql

在此特定情况下,您可以将评论移至最后一行:

"$PSQL_HOME"/psql -h $HOST_NM     \
                      -p $PORT    \
                      -U postgres \
                      -v v1=$1    \
                      -v v2=$_load \
                      -f Test2.sql
#                     -f Test.sql

关于bash 脚本在注释行后无法执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30206347/

相关文章:

python - 如何像 bash 中的函数一样调用 python 脚本?

c - 将简单的套接字变成 SSL 套接字

linux - 尝试使用 cp 将文件复制到多个文件时出错

Unix/Mac OS X 上的 C++ UTF-8 支持

linux - 将输出重定向到命令结果给出的文件名

bash - expr 和 if 在 bash 中

linux - 捕获名称的一部分,以便我可以在 linux 中循环

bash - 如何强制 grep 只返回文件而忽略目录?

linux - 我在旧目录中有一系列文件,我想检查该文件是否存在于新目录中。如果它不存在,我想对其进行一些操作

linux - 是否有独立于平台的非阻塞方式来判断文件描述符是否是磁盘文件(常规/目录)