2011-01-06 4 views
2

의 파일로 리디렉션 할 때 문제가 발생하면 bash 스크립트가 다음 코드 단편의 mysql 명령 출력을 지정된 파일로 리디렉션하지 않습니다.mysql 명령 출력을 bash 스크립트

#!/usr/bin/bash 

cmd="select * from foo > '/tmp/sample.txt'" 
mysql --user=test --password=test <db name> --host=<hostname> --port=<portname> -e "$CMD" 

스크립트 이상으로 내가 "OUTFILE 속으로" ">"리디렉션 연산자를 교체 할 때 대신 파일

#!/usr/bin/bash 

    cmd="select * from foo INTO OUTFILE '/tmp/sample.txt' " 
    mysql --user=test --password=test <db name> --host=<hostname> --port=<portname> -e "$CMD" 

의 콘솔에 출력을 리디렉션, 나는 액세스 권한 오류를

+0

당신의 로컬 컴퓨터 나 MySQL 인스턴스가 실행중인'hostname'에'/ tmp/sample.txt'를 저장하려고합니까? – chrisaycock

+0

[BashFAQ/050] (http://mywiki.wooledge.org/BashFAQ/050)을 참조하십시오 (변수에 명령을 넣지 마십시오). –

답변

5

만약에 받고 있어요 리디렉션 연산자 (>)를 따옴표 밖으로 옮깁니 까?

cmd="select * from foo" 
mysql --user=test --password=test <db name> --host=<hostname> --port=<portname> -e "$cmd" > /tmp/sample.txt