0
我有一個交互式程序,cmd
,我從批處理腳本運行。我插入輸入爲:終止批量交互式程序
cmd < $"yes\n3\nn\n"
這個程序cmd
是第三部分的軟件,我不打算修改。
我需要在此字符串的末尾添加一些內容才能終止程序。事實是,我還沒有找到完整的方法來關閉這個程序,到目前爲止我已經用Control+C
關閉它。我怎樣才能將它插入到輸入字符串的末尾?
我有一個交互式程序,cmd
,我從批處理腳本運行。我插入輸入爲:終止批量交互式程序
cmd < $"yes\n3\nn\n"
這個程序cmd
是第三部分的軟件,我不打算修改。
我需要在此字符串的末尾添加一些內容才能終止程序。事實是,我還沒有找到完整的方法來關閉這個程序,到目前爲止我已經用Control+C
關閉它。我怎樣才能將它插入到輸入字符串的末尾?
假設這確實是在Linux上的bash,我覺得有以下應該做你想要什麼:
cmd < $'yes\n3\nn\n\cD'
%的bash hackers wiki,在$''
字符串,轉義序列展開,\cD
是控制-d ,或文件結尾。正如評論者所說,你不應該需要明確的控制-D來執行一個行爲良好的程序。 cmd
究竟是什麼?也許它以奇特的方式操縱終端。如果是這樣,另一種選擇可能是使用kill
手動將SIGINT
或SIGHUP
發送給過程。類似於:
cmd < $'yes\n3\nn\n &
CMD_PID=$!
sleep 10 # or however long "cmd" usually takes
kill -s SIGINT "$CMD_PID" # or SIGHUP or SIGQUIT instead of SIGINT
您知道[tag:batch-file]與Windows有關嗎?請重新考慮你申請的標籤...... – aschipfl
「昨天的玫瑰以它的名字持久,我們持有空名。」 (cit)不,我不知道,我認爲它是shell腳本的同義詞 – simona
也許你的意思是[標籤:bash]?檢查出相關的[標籤信息](http://stackoverflow.com/tags/bash/info)... – aschipfl