ssh="ssh user@host"
dumpstructure="mysqldump --compress --default-character-set=utf8 --no-data --quick -u user -p database"
mysql=$ssh "$dumpstructure"
$mysql | gzip -c9 | cat > db_structure.sql.gz
Run Code Online (Sandbox Code Playgroud)
这在第三行失败了:
mysqldump --compress --default-character-set = utf8 --no-data --quick -u user -p database:command not found
为了调试这个特定的错误,我简化了我的实际脚本.$ssh并且$dumpstructure并不总是在真实的脚本中连接在一起.
变量用于保存数据,而不是命令.使用功能.
mysql () {
ssh user@host mysqldump --compress --default-character-set=utf8 --nodata --quick -u user -p database
}
mysql | gzip -c9 > db_structure.sql.gz
Run Code Online (Sandbox Code Playgroud)
命令的参数可以存储在数组中.
# Although mysqldump is the name of a command, it is used here as an
# argument to ssh, indicating the command to run on a remote host
args=(mysqldump --compress --default-character-set=utf8 --nodata --quick -u user -p database)
ssh user@host "${args[@]}" | gzip -c9 > db_structure.sql.gz
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |