명령을 계산하고 실행하기 위해 bash 스크립트를 작성 중입니다.
결과를 변수에 넣고 표시합니다.
그러면 exec가 완료됩니다.
Exec 프로그램은 입력 데이터를 허용해야 합니다.
사용 사례에서는 입력 데이터가 표시되지 않습니다.
왜인지 이해가 안 돼요...
해결책(t2.sh)을 찾았으나 왜 t1.sh가 원하는 대로 작동하지 않는지 궁금합니다.
$ cat t1.sh
#!/bin/bash
t=$\'ssh xxx@localhost "mysql -P3306 -u uuuu -ppppp -h localhost DB_test -e \\\'select now()\\\'"\'
v=$(eval $t | tail -n1)
#v=$(bash <<< $t | tail -n1)
echo $v
exec cat
$ ./t1.sh <<< "toto"
Pseudo-terminal will not be allocated because stdin is not a terminal.
mysql: [Warning] Using a password on the command line interface can be insecure.
2020-04-24 21:56:59
$ ##### toto is not displayed, why ?
$ cat t2.sh
#!/bin/bash
t=$\'ssh xxx@localhost "mysql -P3306 -u uuuu -ppppp -h localhost DB_test -e \\\'select now()\\\'"\'
#v=$(eval $t | tail -n1)
v=$(bash <<< $t | tail -n1)
echo $v
exec cat
$ ./t2.sh <<< "toto"
Pseudo-terminal will not be allocated because stdin is not a terminal.
mysql: [Warning] Using a password on the command line interface can be insecure.
2020-04-24 21:57:10
toto
$