一鍵部署Shell指令碼解析

2021-10-13 12:36:00 字數 1214 閱讀 9468

1、定位指令碼所在的絕對路徑

#!/bin/bash

shell_dir=

$(cd `dirname $0`;

pwd)

其中,

dirname

$0,獲取當前指令碼所在絕對目錄cd`

dirname $0`

,進入這個目錄(切換當前工作目錄)

pwd,顯示切換後指令碼所在的工作目錄

2、讀取引數檔案並執行命令

source是bash內建的shell,source命令從在當前shell環境中作為其引數指定的檔案中讀取並執行命令。

source ./conf.properties
3、強制安裝一些依賴元件

rpm -uvh --force --nodeps *.rpm
4、讀取資料並追加儲存到檔案

tee指令會從標準輸入裝置讀取資料,將其內容輸出到標準輸出裝置,同時儲存成檔案。

tee -a  #-a表示追加
5、安裝並搜尋

rpm -qa |

grep ***x #-qa中的q代表query,a代表all

rpm是redhat package manger(redhat軟體管理工具),是一種用於打包及安裝工具

grep(global search rgular expression(re) and print out the line):是一種強大的文字搜尋工具

6、shell:2>&1 重定向

2>

&1 的意思就是將標準錯誤重定向到標準輸出。

對於& 1 更準確的說應該是檔案描述符 1,而1標識標準輸出,stdout。

對於2 ,表示標準錯誤,stderr。

7、dos2unix:將windows格式檔案轉換為unix、linux格式的實用命令。windows格式檔案的換行符為\r\n ,而unix&linux檔案的換行符為\n. dos2unix命令其實就是將檔案中的\r\n 轉換為\n。

unix2dos:將linux&unix格式檔案轉換為windows格式檔案的命令。

dos2unix -q $/conf.properties #-q以靜默模式格式化檔案

shell指令碼一鍵部署LNMP

author create date 2020 07 15 01 52 version mail description bin bash mysql的原始碼安裝 read p 即將進行mysql原始碼安裝,請問是否進行 y n speed case speed in y mysqld yes my...

使用Shell指令碼一鍵部署DNS正向解析

bin bash 首先先判斷檢查磁碟是否掛載 df grep sr0 將過濾出來的sr0交給df檢視是否已經掛載 if eq 0 then 如果掛載了 yum install y bind dev null 就安裝bind軟體包 else 如果沒有掛載 mount dev sr0 mnt 先掛載磁碟...

shell指令碼一鍵部署LAMP架構

一 部署lamp基本架構 1.l linux a apache m mysql p php 2.穩定版本 mysql5.1,php5.3,apache2.2 3.安裝順序,apache mysql php 4.將所需的壓縮包 放指定目錄 本人的壓縮包放在虛擬機器 mnt目錄中 1 編譯原理 主要為了...