是否可以通过数据库名称subshell 的参数而不手动编写它?
mysqldump -u USERNAME -p DBNAME > "$(date +"%Y-%m-%d_%H-%M-%S")_DBNAME.sql"
答案1
这里没有子 shell,而是命令替换 (the $(...)
)。如果DBNAME
是变量,则可以使用
DBNAME=mydatabase
mysqldump -u USERNAME -p "$DBNAME" > "$(date +"%F_%H-%M-%S")_$DBNAME.sql"
甚至
DBNAME=mydatabase
mysqldump -u USERNAME -p "$DBNAME" >"$(date +"%F_%H-%M-%S_$DBNAME.sql")"
或者
DBNAME=mydatabase
outfilename=$(date +"%F_%H-%M-%S_$DBNAME.sql")
mysqldump -u USERNAME -p "$DBNAME" >"$outfilename"
或其变体。