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 附加到執行緒轉儲文件名?
您的命令替換輸出可能有空格,導致欄位拆分等。使用引號:
$ 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_