스크립트로 실행할 때 원격 서버에서 날짜 명령이 작동하지 않습니다.

스크립트로 실행할 때 원격 서버에서 날짜 명령이 작동하지 않습니다.

원격 서버의 스크립트에서 다음 명령을 실행하고 있는데 오류가 발생합니다.No such file or directory

ssh -t -t [email protected] \"sudo mysql nss_mysql < /home/user/scripts/Db_nss_mysql-`date +%Y-%m-%d`.sql && /bin/bash /home/user/scripts/jenkin-soft.sh\"

실행하면 bash jenkin-soft.sh전체 오류는 다음과 같습니다.

jenkin-soft.sh: line 36: /home/user/scripts/Db_nss_mysql-`date +%Y-%m-%d`.sql: No such file or directory. 

다음 명령을 시도했는데 제대로 작동합니다.:

givinv@ser1:~/scripts$ ssh -t -t [email protected] "sudo mysql"
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 66

mysql> Bye
Connection to xx.xx.xx.xx closed.
givinv@ser1:~/scripts$ ssh -t -t  [email protected] "sudo ls /home/user/scripts/Db_nss_mysql-`date +%Y-%m-%d`.sql"
/home/user/scripts/Db_nss_mysql-2017-04-07.sql
Connection to xx.xx.xx.xx closed.
givinv@ser1:~/scripts$ 

내가 뭘 잘못했나요?

답변1

여기 인용에 문제가 있거나 오히려 부족합니다. 왜냐하면 다음과 같이 쓸 때: \"sudo ....\" 문자열을 인용하는 것이 아니라 인용 문자 "를 인용하기 때문입니다.

ssh -t -t [email protected] 'sudo mysql nss_mysql < /home/user/scripts/Db_nss_mysql-`date +%Y-%m-%d`.sql && /bin/bash /home/user/scripts/jenkin-soft.sh'

관련 정보