Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 用于在linux上运行postgres docker映像的Bash脚本失败_Spring_Bash_Spring Boot_Docker_Dockerfile - Fatal编程技术网

Spring 用于在linux上运行postgres docker映像的Bash脚本失败

Spring 用于在linux上运行postgres docker映像的Bash脚本失败,spring,bash,spring-boot,docker,dockerfile,Spring,Bash,Spring Boot,Docker,Dockerfile,intellij说,下面脚本第4行的命令似乎有问题 这是不标准的。改用内置的“command-v” 由于哪个psql似乎不起作用,它会自动影响第12行和第13行 在调查过程中,我删除了第4行,然后脚本执行了第6行到第10行,成功地创建了一个docker文件(pg docker),但是我还需要执行schema.sql(第12行)和data.sql(13)。命令(第4行)是否有替代命令 下面是我的bash脚本: #/usr/bin/env bash 设置-euo管道故障 哪个psql>/dev/nu

intellij说,下面脚本第4行的
命令似乎有问题

这是不标准的。改用内置的“command-v”

由于
哪个psql
似乎不起作用,它会自动影响第12行和第13行

在调查过程中,我删除了第4行,然后脚本执行了第6行到第10行,成功地创建了一个docker文件(pg docker),但是我还需要执行
schema.sql
(第12行)和
data.sql
(13)。
命令(第4行)是否有替代命令

下面是我的bash脚本:

#/usr/bin/env bash
设置-euo管道故障
哪个psql>/dev/null | |(echo“请确保postgres客户端在您的路径中”&&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-p432:5432-v$HOME/docker/volumes/POSTGRES:/var/lib/postgresql POSTGRES
睡眠3
导出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,PGPASSWORD用于查找和显示命令的完整路径(在脚本中,它仅用于确保命令psql存在)。 IntelliJ或更好的方法(bash)脚本的定义linter建议不要依赖单独的
命令,而只使用内置的bash函数
命令-v
,这样第4行就可以读取

command -v psql > /dev/null || (echo "Please ensure that postgres client is in your PATH" && exit 1)
也就是说,这很可能不是你真正的问题。您需要在PATH变量中安装PostgreSQL客户端
psql
,以运行第12行和第13行中的命令。这正是您在第4行中检查的内容-无论使用
哪个
命令-v

如何安装
psql
命令取决于您的操作系统。

谢谢,我安装了postgres,它工作正常。我已经坐在这里一段时间了,我不会继续学习。。。快乐编码下次粘贴脚本时,请确保脚本可读性好,并且在每行后面不包含不需要的字符,例如
12