![](/img/trans.png)
[英]Open a new terminal window and execute command in it by java without using bash script
[英]Bash script to open executable in a new terminal
我的意圖是使工作流程中的編譯過程自動化。 我在根目錄中只有一個Makefile
,我發現自己不斷輸入make
來查看結果,然后輸入SIGTERM
刷新(我正在運行OS X 10.8.5)。 理想情況下,bash腳本會偵聽文件中的更改,並在進行更改時自動進行更改,然后運行可執行文件。
我有以下嘗試來實現bash腳本。
#!/bin/bash
while true
do
ATIME=`stat library/grid.c | egrep -o -m 3 '"(.{20})"' | tail +4`
if [[ "$ATIME" != "$LTIME" ]]
then
echo "Running make..."
bash -e make; ./sheet
LTIME=$ATIME
fi
sleep 1
done
這導致以下錯誤
/usr/bin/make: /usr/bin/make: cannot execute binary file
./listener.sh: line 10: ./sheet: No such file or directory
如何發出命令以在新的終端窗口中制作和運行可執行文件? 這樣做的重點是,我可以保持bash腳本運行,在后台監聽更改,而無需執行文件接管。
為任何命令(不僅是make)運行bash -e <cmd>
是不合法的。 提供給bash
的參數應該是shell腳本 ,而不是程序。
我不知道您為什么要使用這樣的外殼; 為什么不直接運行make
? 但是,如果您真的想在bash中運行make
,則必須使用-c
標志。
如果要執行的操作是在make失敗的情況下停止腳本,請使用:
make || exit 1
./sheet
如果您想繼續執行錯誤但不運行命令,請使用:
make && ./sheet
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.