。。。。確實基礎不紮實。。。。

  • 腳本只要用能支持的shell都可以。
  • 具體指令能不能支持看生產環境已經版本,如果另一台linux裡面的生產環境完全不一樣,版本在指令上有變動,那就不行。但一般都可以。


能問出這個問題,說明你對Linux的基本概念理解需要加強。

比較嚴格的回答是: 當然可以,只要這個腳本能在這些"版本"上運行。


大概推測一下,你沒寫過Shell腳本,也不知道各Linux發行版的區別。

同一軟體在同一Linux發行版上不外乎三種安裝方式,源碼編譯、二進位包、包管理器,啟動關閉重啟等管理也不盡相同。

以MySQL為例,在RHEL上,三種安裝方式都有,但是在不同的RHEL上管理方式也不一樣,例如同樣是包管理器安裝MySQL 8.0,在RHEL6、RHEL7上的管理命令就不一樣。

所以如果要一個Shell腳本通用於不同的Linux發行版,做個判斷就行了,根據不同系統,不同安裝方式,調用不同命令……

總結一下,就是判斷,加堆命令,完事。


簡單的可以,複雜點的基本不行。

要行的話,也沒有autoconfig什麼事了。


你自己加一個檢測環境和依賴唄


腳本聯動具體的命令,看具體的。大致應該是可以的。默認用的 解釋器是 bash


簡單來說,shell解釋器其實是一個工具、一個軟體,用來和linux進行交互,目前的各種linux分發版都默認安裝了多個shell解釋器的,可以通過查看/etc/shells 這個文件查看你的linux系統支持哪些shell解釋器。

shell腳本執行過程中是去完成一些編寫者定義的流程,過程中shell並不實際操作,比如腳本中定義要連接ftp伺服器查看文件,那執行腳本的linux系統就必須要安裝ftp客戶端工具,執行過程中,shell腳本定義ftp這個工具連接哪個伺服器的哪個埠,查看的執行操作其實是ftp這個工具去完成的。

tomcat這個服務的啟停腳本用到是/bin/bash這個解釋器,這個解釋器基本上所有的linux分發版都是支持的,執行過程中用到的linux工具,像ps、grep、rm、echo等等這些工具也都默認支持的,所以並不需要計較這個問題。


推薦閱讀:
相关文章