【发布时间】:2015-05-12 22:59:33
【问题描述】:
我在使用 bash 脚本时遇到了问题。我希望用户说明用户名,如果未设置,则自动将其设置为 root。
#!/bin/bash
printf "MySQL User: (root)"
read MYSQLUSER
if [[ "$MYSQLUSER" == "" ]]; then
set MYSQLUSER = "root"
fi
我尝试了各种语法和 shell,但 if 语句总是被忽略。这应该在 Mac 上运行。感谢您的帮助!
【问题讨论】:
-
if声明很好。不过,您的set行不正确。这不是 bash 变量赋值。你想要MYSQLUSER=root那里。但也有其他方法可以做到这一点。有关此用法的标准习语的问题,请参阅stackoverflow.com/q/7444504/258523。 -
另外,
-z选项检查零长度。if [[ -z "$MYSQLUSER" ]]也可以。