我有一个小的 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”是您的变量。