linux中利用shell指令碼條件執行命令

2021-08-11 06:18:11 字數 1442 閱讀 3542

在linux環境中,我們總會有一些命令需要經常用,例如經常跳轉到某些目錄下或者執行某些命令,輸入一連串的命令是很煩的,此時我們可以預先寫一些指令碼然後根據我們的選擇自動執行命令,那豈不是完美,本指令碼就是為此而生的(以跳轉不同的目錄舉例,當然也可以執行其他命令,這時候只需要模擬寫shell命令即可)

1、首先建乙個shell指令碼start.sh

#!/bin/bash

cd_dir_1="/export/songhongwei/code"

cd_dir_2="/export/songhongwei/data"

cd_dir_3="/export/songhongwei/soft"

echo

""echo

" 1: cd $cd_dir_1"

echo

" 2: cd $cd_dir_2"

echo

" 3: cd $cd_dir_3"

echo

""read -p "please input the choice:" idx

#if [[ -z "$idx"]];then

# echo "no choice,exit"

if [[ '1' = "$idx" ]];then

eval

"cd $cd_dir_1"

elif [[ '2' = "$idx" ]];then

eval

"cd $cd_dir_2"

elif [[ '3' = "$idx" ]];then

eval

"cd $cd_dir_3"

else

echo

"no choice,exit!"

fiecho

""

2、然後把該指令碼放在某個目錄下,例如本人放在了/export/songhongwei/soft/sh

3、編輯~/.profile檔案把sh目錄新增到環境變數即可

path="$home/bin:$home/.local/bin:/export/songhongwei/soft/sh:$path"
4、在shell或linux終端中可以在任何目錄下直接訪問該命令

. start.sh 或 source start.sh

注: (1)步驟4中,start.sh 前的 點 不能忘記,代表的是在當前bash環境下讀取並執行filename中的命令,否則會新開子程序執行filename中的命令,此時cd無法再當前bash環境跳轉。

source、sh、bash、./執行指令碼的區別:

(2)新增sh目錄到環境變數目的是一方面可以在任何目錄下執行filename中命令,另外可以在該sh目錄下新增多個此類指令碼。

linux中利用shell指令碼一次執行多條指令

在linux中當需要頻繁執行多條語句時,可以將待執行命令寫成乙個shell指令碼檔案,然後執行該指令碼檔案達到一次執行多條命令的目的。vim sh gedit sh vim sh 這幾種編輯方式都行 可以替換成自己設定的名稱 sh是指令碼檔案格式,不可更改 bin bash 注意上面這個檔案頭時必須...

linux中除錯shell指令碼

原來的指令碼check.sh monfile var log test testmon.txt logfile var log test testmon.log touch monfile 該指令碼是在window裡編輯的,編輯後上傳到linux的 問題 執行後,目錄下出現的檔案是testmon.t...

利用shell指令碼來監控linux系統的記憶體

這幾天在學習研究shell指令碼,寫的一些記憶體監控指令碼程式。在沒有nagios監控軟體的情況下,只要伺服器能上網際網路,就可通過發郵件的方式來提醒管理員系統記憶體的使用情況。一 安裝linux下面的乙個郵件客戶端msmtp軟體 類似於乙個foxmail的工具 tar jxvf msmtp 1.4...