PostgreSQl - 使用 shell 脚本创建数据库

PostgreSQl - 使用 shell 脚本创建数据库

我有一个小的 shell 脚本,它通过 ssh 由另一个脚本触发。

#!/bin/bash

if [ -z $1 ]
    then
echo "Missing DB Name!"
exit 1
    else 
    PROJECT=$1
fi

createdb -U postgres -T mytemplate -O myuser $PROJECT_dev

问题是 createdb 语句看不到 $PROJECT 变量。调用脚本时它始终为空。

我不知道为什么。

答案1

使用花括号来界定您的实际变量:

createdb -U postgres -T mytemplate -O myuser ${PROJECT}_dev

否则,bash 认为整个“PROJECT_dev”是您的变量。

相关内容