【发布时间】:2021-01-11 16:19:45
【问题描述】:
intellij 说,下面脚本第 4 行的命令 which 似乎有问题
这是非标准的。改用内置的'command -v'
由于which psql 似乎无法正常工作,它会自动影响第 12 行和第 13 行。
在调查时我删除了第 4 行,然后脚本执行了第 6 到 10 行,这成功创建了一个 docker 文件(pg-docker)但是我还需要执行 schema.sql(第 12 行)和 data.sql(13) . which 命令是否有替代命令(第 4 行)
以下是我的 bash 脚本:
#!/usr/bin/env bash
set -euo pipefail
which psql > /dev/null || (echo "Please ensure that postgres client is in your PATH" && exit 1)
mkdir -p $HOME/docker/volumes/postgres
rm -rf $HOME/docker/volumes/postgres/data
docker run --rm --name pg-docker -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=dev -d -p 432:5432 -v $HOME/docker/volumes/postgres:/var/lib/postgresql postgres
sleep 3
export PGPASSWORD=postgres
psql -U postgres -d dev -h localhost -f schema.sql
psql -U postgres -d dev -h localhost -f data.sql
我得到以下关于 Intellij 问题的信息
第 4 行抱怨哪个命令
第 6,7 和 9 行抱怨 $HOME
第 11 行抱怨 PGPASSWORD
【问题讨论】:
-
下次粘贴脚本时,请确保它有点可读性,并且每行后不包含不需要的字符,例如
12&nbsp;&nbsp;&nbsp;或<br>
标签: spring bash spring-boot docker dockerfile