antony@notes:~/misc$ cat "Windows-Batch-程式設計.md"
Windows Batch 程式設計
Windows Batch 程式設計
在 Windows 命令提示字元 視窗, 編輯 vmstart.bat 及 vmstop.bat (notepad 就是記事本,用它來編輯批次檔 »> *.bat) 編輯開機的批次檔
C:\Users\bigred>notepad vmstart.bat
@echo off
"C:\Program Files (x86)\VMware\VMware Player\vmrun" start "c:\alp.takoyaki\alp.takoyaki.vmx" 1>nul1>null ,1代表一號裝置 螢幕,把螢幕上資訊導入黑洞
Batch預設會顯示.bat內含的指令內容,指令內容的顯示與指令執行的結果訊息兩者不同 @echo off ,要關閉內容顯示要使用@echo off放置於前方 vmrun路徑 “C:\Program Files (x86)\VMware\VMware Player\vmrun” 動作 start/stop/reset 虛擬機路徑 “c:\alp.takoyaki\alp.takoyaki.vmx”
編輯關機虛擬機器的批次檔
C:\Users\bigred>notepad vmstop.bat
@echo off
"C:\\Program Files (x86)\\VMware\\VMware Player\\vmrun" stop "c:\\alp.takoyaki\\alp.takoyaki.vmx" 1>nulset 可以看到Windows的環境變數
只要是電腦,一定會有環境變數,所有的作業系統通通都有PATH環境變數
C:\Users\ybean>set
...
Path=C:\Program Files (x86)\VMware\VMware Player\bin\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Users\ybean\AppData\Local\Microsoft\WindowsApps;
...當我們在windows裡面執行一個指令,系統會到PATH環境變數裡面的目錄,找指令所在的目錄,
以下的vmrun會失敗
C:\Users\ybean>vmrun
'vmrun' is not recognized as an internal or external command,
operable program or batch file.失敗原因是因為vmrun這個指令他所在的目錄路徑位置,沒有在PATH環境變數中
golang 網站程式設計
go 語言有 C 語言的速度、java 的物件導向能力、python 語言的簡潔 docker 用go 語言寫的 kubernetes 用go語言寫的 cncf.io »> project 裡面的專案都用go語言寫的
package main
import (
"net/http"
"net/http/cgi"
)
func cgiHandler(w http.ResponseWriter, r *http.Request) {
handler := cgi.Handler{Path: "cgihello.sh"}
handler.ServeHTTP(w, r)
}
func main() { # main() ,代表整個程式從這邊開始執行
http.HandleFunc("/", cgiHandler) # cgi後面的功能Handler的第一個字母,最好要大寫
http.ListenAndServe(":8080", nil) # :8080 的冒號,代表的意思是哪台機器執行這支程式,它的IP位址就會是go語言網站的網址,後面再加8080
} 程式一直行,網站就會打開,然後會去執行cgihello.sh這支程式
編輯cgihello.sh
$ nano cgihello.sh (程式輸出的對象是瀏覽器)
#!/bin/bash
echo "Content-type: text/html" (網頁標籤)
echo "" (換行)
echo '<html><body>'
echo 'Hello From Bash<br/>Environment:'
echo '</body></html>'
exit 0用go lang語言可以將bash script的執行結果輸出到瀏覽器上
Golang執行cgihello.sh將程式指令結果送到前端呈現