Bash: 모호한 리디렉션

Bash: 모호한 리디렉션

jstack을 사용하여 Java 프로세스의 덤프를 수집하려고 하는데 다음 명령을 시도했습니다. 하지만 ambiguous redirect명령으로 리디렉션할 수 없다고 합니다 .

 jstack -l `pgrep java` > /tmp/TD_`hostname`_`date`_`pgrep java`
-bash: /tmp/TD_`hostname`_`date`_`pgrep java`: ambiguous redirect

한 줄 명령으로 스레드 덤프를 가져오고 날짜와 Java PID를 스레드 덤프 파일 이름에 추가하는 해결 방법이 있습니까?

답변1

명령 대체 출력에 공백이 있어 필드 분할 등이 발생할 수 있습니다. 따옴표 사용:

$ echo foo > /tmp/TD_`hostname`_`date`_`pgrep java`
bash: /tmp/TD_`hostname`_`date`_`pgrep java`: ambiguous redirect
$ echo foo > /tmp/"TD_`hostname`_`date`_`pgrep java`"
$ ls /tmp/TD*
/tmp/TD_muru-arch_Sat 26 Dec 16:14:29 IST 2015_

관련 정보