需求: 在乙個batch指令碼裡需要使用者確認某個資訊是否正確。如果正確,那麼輸入yes,繼續後面的工作;如果不正確,輸入no,然後提示使用者輸入正確的值,並讀入這個值賦給變數,然後繼續後面的工作;如果輸入既非yes又非no,提示使用者重新輸入yes或no,然後再回到前面的判斷。
實現:set var=123456
current var is %var%
echo if confirmed, please input y;otherwise input n: (y/n)
echo off
set /p check_var=
echo off
if not "%check_var%" == "y" (
if not "%check_var%" == "n" (
echo invalid input, try again.
echo if var value is confirmed, please input y ;otherwise input n:(y/n)
echo off
set /p check_var=))
if "%check_var%" == "y" goto unchanged
if "%check_var%" == "n" goto input_var
:unchanged
echo %var% is not changed
goto continue
:input_var
echo please input the new value of var:
echo off
set /p var=
goto continue
:continue
common_actions
事後分析:因為對batch不熟悉,所以不知道這是不是唯一的方法。一開始沒有想到把common_action定義成乙個label,即沒有goto continue那一句。結果每次執行完unchanged lable的內容緊接著就執行input_var的,沒有實現跳轉。後來在網上找了乙個類似的例子,才解決了這個問題。希望以後熟悉batch了,能優化這個方案。
互動式介面
互動式介面 啟動終端後,在終端裝置附加乙個互動式應用程式 runlevel 顯示當前執行的模式 root vm 163 113 centos runlevel n 3init 3 切換至命令列 init 0 停機 千萬不能把initdefault 設定為0 init 1 單使用者模式 init 2 ...
互動式 非互動式,登入式 非登入式Shell
互動式shell和非互動式shell 互動式模式 在終端上執行,shell等待你的輸入,並且立即執行你提交的命令。這種模式被稱作互動式是因為shell與使用者進行互動。這種模式也是大多數使用者非常熟悉的 登入 執行一些命令 退出。當你退出後,shell也終止了。非互動式模式 以shell scrip...
Python 實現互動式執行命令
paramiko提供了ssh 客戶端的介面,讓大家在寫指令碼的時候可以remote到遠端的機器上執行命令 有時候在執行某些命令的時候我們需要輸入一些值,接著才往下跑,下面是乙個簡單的指令碼來解決這個動態輸入的問題 service tomcat status root1234 if retcode 0...