표준 입력도 사용할 수 있도록 프로그램의 입력 파일을 사용하는 방법을 찾으려고 합니다.
예를 들어, 테이블을 생성하는 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>