前言
Spring Boot項目通過JAR打包部署的時候,一般我們所采取的措施是將其注冊為服務,并通過service命令管理項目。但注冊服務的過程相對繁瑣,不如寫一個腳本來快速注冊(入門Shell)。
注冊服務腳本
#!/bin/sh
echo "Please input the path of jar:"
read -e jar_path
echo "Please input the name of service:"
read -e service_name
service_path="/etc/init.d/"$service_name
ln -s $jar_path $service_path
chmod +x $service_path
echo "Register success!"
復制代碼
腳本說明
- '#'開頭所在行即為注釋,'#!'為約定的標記,代表這個腳本需要使用的解釋器
- echo用于字符的顯示,提高用戶體驗
- read用于讀取輸入流,并將其存入指定的變量;-e使得輸入的字符暫時存儲在緩存區中,解決read退格異常問題
- 字符串拼接:只需將變量緊挨在一起即可
- ln -s : 創建指向目標jar的軟連接(類似于快捷方式),存放在'/etc/init.d/'中
- chmod +x :增加可執行權限
測試
1.通過maven打包出一個完全可執行的jar,即可以被注冊為服務,具體請參照Spring Boot官方文檔。
2.vim deploy.sh
,復制以上腳本代碼,保存退出
3.chmod +x deploy.sh
,為腳本增加可執行的權限
4../deploy.sh
,執行該腳本。輸入jar的路徑,然后輸入服務的名稱(可自定義),最后啟動測試
Springboot注解?
坑
變量賦值的時候,等號旁邊不能有空白,例如上面腳本中的第一個service_path所在行,如果寫成service_path = "/etc/init.d/"$service_name
,腳本執行將會報錯。