尝试获取时间命令的输出

当我在终端上运行以下命令时,它运行正常。

$ var=`(time  mysqldump -v -u'user' -p'password' database > db-backup.sql 2> 
/tmp/mysqldump-output) 2>&1 | grep real | awk  '{print $2}' | cut -f1 -d"m"`
$ echo $var
0

但是当我在bash脚本中使用相同的命令时,它无法正常工作

下面是脚本:

$ cat db-backup.sh
#!/bin/bash
var=`(time  mysqldump -v -u'user' -p'password' database > database-backup.sql 2> /tmp/mysqldump-output) 2>&1 | grep real | awk  '{print $2}' | cut -f1 -d"m"`
echo $var

脚本输出:

$ sh -x db-backup.sh
+ grep real
+ awk {print $2}
+ cut -f1 -dm
+ var=
+ echo
richard88888 回答:尝试获取时间命令的输出

使用bash运行脚本后,它可以正常工作。

$ bash -x  db-backup.sh
++ grep real
++ awk '{print $2}'
++ cut -f1 -dm
+ var=0
+ echo 0
0
本文链接:https://www.f2er.com/3160273.html

大家都在问