Попытка получить вывод команды времени - PullRequest
0 голосов
/ 05 ноября 2019

Когда я запускаю приведенную ниже команду на терминале, она работает нормально.

$ 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

1 Ответ

0 голосов
/ 05 ноября 2019

После запуска скрипта с bash все заработало.

$ bash -x  db-backup.sh
++ grep real
++ awk '{print $2}'
++ cut -f1 -dm
+ var=0
+ echo 0
0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...