linux - 当位置存储在变量中时,为什么 bash 找不到文件?

标签 linux bash postgresql unix

如果 postgres 用户的主目录中不存在 .pgpass 文件,我将尝试写入该文件。

目前我有

local PASS="~postgres/.pgpass"
echo "*:*:*:*:$PWD" >> $PASS

它失败了 ~postgres/.pgpass: No such file or directory

但是,不使用变量是可行的。

echo "*:*:*:*:$PWD" >> ~postgres/.pgpass

两者有什么区别?如何将文件存储在变量中并让它工作?

最佳答案

local PASS=~postgres/.pgpass
echo "*:*:*:*:$PWD" >> "$PASS"

关于linux - 当位置存储在变量中时,为什么 bash 找不到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40920914/

相关文章:

java - 如何在 java 中将消息附加到 unix 邮箱?

python - 在 Anaconda python 中配置根路径

linux - 使用 Lauterbach T32 和 Linux/Qt 时 CPU 使用率较高

linux - 如何使用 bash 脚本替换文件名中的空格

postgresql - 无法将sql文件导入Windows中的PostgreSql

java - BeagleBone Black 和 java revalidate()

MySQL 分组循环 bash

linux - ubuntu 服务器上的参数太多

c - 从 PQexec 流式传输 libpq 结果

ruby-on-rails - Rails、Postgres 仅显示所有搜索参数中存在的项目