Bash

用戶輸入

用戶輸入

在用戶輸入部分,我們將了解,我們如何采取我們的腳本。

有時,在編寫腳本時,我們不確定要在係統中進行哪些更改,因此我們在腳本中保留一些選項,以便在運行時進行選擇。

在bash shell中獲取用戶輸入的語法非常簡單,我們隻需要在變量名之前寫“read”。

下麵是我們使用用戶輸入的代碼示例:

# !“我們學院的名字是$name”

輸出:
文本描述自動生成

在bash腳本中,我們甚至可以在不聲明任何變量的情況下獲取輸入。我們隻需要在我們的代碼中寫入read和輸出,我們可以在代碼中使用' $REPLY '。

下麵是例子:

# !/bin/bash #在這個文件中我們將創建一個不使用變量的腳本,讓用戶輸入echo“你叫什麼名字?”read echo“名字是$REPLY”echo“你的年齡是多少?”read echo“這個人是$REPLY歲。”

輸出:
文本描述自動生成

在bash中,我們還可以將變量的輸入設置為靜默,這樣就沒有人可以看到我們所給出的輸入。這通常在Linux中獲取密碼時使用。你已經看到,每當我們輸入任何密碼,你可以輸入,但你不會看到任何東西,但當輸入用戶名,你可以清楚地看到它。

因此,要做到這一點,你隻需要在變量-p和-sp之前加上一些標記。

下麵是隱藏用戶輸入的示例。

# !/bin/bash read -p "user_name: " user_var read -sp "password: " pass_var echo echo "user_name: " $user_var echo "password: " $pass_var . sh

在bash shell中,我們還可以使用數組獲取各種輸入,並打印它們。

為了一次獲取不同的輸入,我們隻需要在變量前加上-a,這樣你就可以在一行中獲取多個輸入。

例子:

# !輸入輸入:" read -a numbers echo "輸入的名稱是:${numbers[0]}, ${numbers[1]}, ${numbers[2]}, ${numbers[3]}, ${numbers[4]}"

輸出:
文本描述自動生成

Bash日期

Bash日期格式

在本章/主題中,我們將學習日期指令的可訪問格式,以及如何在Bash腳本中使用它們。

Bash日期

Bash shell提供了不同的日期命令以及不同的格式化選項。我們將利用這些指令將Bash日期格式化為所需的日期。

Bash日期命令

我們可以使用' date '命令來顯示或更改係統的當前日期和值。我們將使用date命令以多種格式打印日期和時間值。我們還將使用此命令計算與日期和時間值相關的任務。如果' date '命令不帶任何選項,那麼它將打印當前係統的日期和值。該命令提供了許多格式化選項來格式化輸出。

美元的日期

我們可以很容易地格式化日期,在bash中有各種選項。我們將使用帶格式選項的空格。

下麵是格式化日期的語法。

$ date '+ '

正如我們所知,我們可以在代碼中使用各種格式,下麵是日期格式選項列表。

Bash的睡眠

在本主題中,您將了解通過使用不同的bash腳本使用sleep命令的方法。Sleep可以定義為命令行優勢,它授權我們在指定的時間內拒絕調用方法。換句話說,Bash sleep命令用於在指定時間段內插入延遲或暫停執行。

當程序員為了某個選定的目的必須暫停某個命令的執行時,通常會使用該命令的精確值。可以按秒(s)、分鍾(m)、小時(h)和天(d)設置延遲量。當在bash shell腳本中使用該命令時,該命令特別有用。

休眠命令格式

語法:睡眠數量(後綴)

我們可以為一個sleep命令使用4個不同的後綴,盡管後綴是可選的部分。加上後綴是我們的事,如果我們想,我們可以加上或者其他,或者我們可以隻留下數字。數字可以是整數也可以是小數它在我們身上。

  1. s -秒
  2. m -分鍾
  3. h -小時
  4. d -天。

如果我們忘記添加後綴,默認情況下數字是秒。因此,在腳本中使用sleep命令時,我們不需要擔心。

例子:

# !/bin/bash #讓我們開始任務日期+"%H:%M:%S" echo "你必須等待10秒" # sleep for 9秒sleep 10s #你也可以用"sleep 9"來代替"sleep 9s",因為如果沒有後綴,它被認為是"seconds"。#結束時間日期+"%H:%M:%S" echo "你的任務剛剛完成"

輸出:


圖形用戶界麵,自動生成應用程序描述

腳本如何工作

當我們運行腳本時,它將以HH:MM: SS格式打印當前時間。然後echo指令將運行,執行後,它將顯示消息“等待10秒”。然後sleep命令將執行並暫停腳本10秒。當所需的時間過去時,腳本的下一行將再次打印當前時間。最後,echo命令將打印消息“您的任務剛剛完成”。

類似地,您將按分鍾、小時和天運行sleep命令。

Baidu
map