如何将参数传递给子shell

如何将参数传递给子shell

是否可以通过数据库名称subshel​​l 的参数而不手动编写它?

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"

或其变体。

相关内容