프로그램이나 스크립트에 "티"를 입력하는 방법이 있나요?

프로그램이나 스크립트에 "티"를 입력하는 방법이 있나요?

표준 입력도 사용할 수 있도록 프로그램의 입력 파일을 사용하는 방법을 찾으려고 합니다.

예를 들어, 테이블을 생성하는 SQL 스크립트가 있다고 가정해 보겠습니다. 나는 그것을 이렇게 부른다:

mysql -p database < script.sql

이것은 훌륭하지만 스크립트가 완료되면 mysql이 종료됩니다. 대신 mysql을 종료하지 않고 수동으로 다른 쿼리를 실행하고 싶습니다.

tee출력을 터미널(stdout)과 파일로 분기할 수 있다는 것을 알고 있습니다 . 입력에 사용할 수 있는 역방향 함수가 있습니까, 아니면 최소한 대부분의 Linux/Unix 명령에 적용할 수 있는 방법이 있습니까?

답변1

cat script.sql - | mysql -p database

답변2

일반적인 경우에 대한 @Stephane의 답변이 마음에 들지만 특정 예에 더 적합한 답변은 다음과 같습니다.

MySQL 대화형 모드를 시작하고 source명령을 사용하여 SQL 스크립트를 실행합니다.

$ mysql -p  
Enter password:  
Welcome to the MySQL monitor.  Commands end with ; or \g.  
Your MySQL connection id is 947  
Server version: 5.1.73-1 (Debian)  

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.  

mysql> source asdf.sql  
+------+  
| test |  
+------+  
| test |  
+------+  
1 row in set (0.00 sec)  

mysql> select 'cool';  
+------+  
| cool |  
+------+  
| cool |  
+------+  
1 row in set (0.00 sec)  

mysql> 

관련 정보