2013-03-04 17 views
0

此命令按預期工作。bash:如果語句有一種方式,但不帶有添加進程

if [[ "$fsb" > "19" || "$fsb" < "06" ]]; then 
    xterm -name Xtermc 
else 
    xterm -name Xtermd 
fi 

但是,這並不產生xterm,更不用說在其中運行腳本(x0或x100)。

if [[ "$fsb" > "19" || "$fsb" < "06" ]]; then 
    xterm -name Xtermc -e x0 
else 
    xterm -name Xtermd -e x100 
fi 

有人可以解釋爲什麼嗎?

+0

xterm是否支持'-e'參數? – 2013-03-04 18:17:16

回答

1

這很可能是因爲x0x100無法找到或立即退出。運行

xterm -name Xtermc -e 'x0; read' 

查看生成的任何錯誤消息。如果該命令正常工作,但立即完成並退出,則可以通過以下方式獲得提示:

xterm -name Xtermc -e 'x0; bash' 
+0

行爲與您預測的一樣,「找不到」,但兩個腳本都存在於我的.bashrc中,如果直接調用,則正常執行 – user985675 2013-03-04 18:37:56

+2

'-e'需要一個實際的可執行文件,而不是shell函數,這是'x0當你說他們存在於[your]'.bashrc'「中時''和'x100'出現。 – chepner 2013-03-04 18:42:22

+0

啊,謝謝,神祕解決了 – user985675 2013-03-04 18:46:36

相關問題