自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Bash 基礎知識系列 #2:在 Bash 中使用變量

系統(tǒng) Linux
在本章的 Bash 基礎知識系列中,學習在 Bash 腳本中使用變量。

在 Bash 基礎知識系列的第一部分中,我簡要提到了變量?,F(xiàn)在是時候在本章中詳細了解它們了。

如果你曾經(jīng)進行過任何類型的編碼,你一定熟悉術語“變量”。

如果沒有,請將變量視為保存信息的盒子,并且該信息可以隨著時間的推移而改變。

讓我們看看如何使用它們。

在 Bash shell 中使用變量

打開終端并使用一個隨機的數(shù)字 4 初始化變量:

var=4

現(xiàn)在你有一個名為 var 的變量,它的值為 4。想驗證一下嗎? 通過在變量名前添加 $ 來訪問變量的值。這稱為參數(shù)擴展。

[abhishek@itsfoss]:~$ echo The value of var is $var
The value of var is 4

?? 變量初始化時 = 前后不能有空格。

如果需要,你可以將該值更改為其他值:

Using variables in shellUsing variables in shell

在 Bash shell 中,變量可以是數(shù)字、字符或字符串(包括空格在內(nèi)的字符)。

Different variable types in Bash shellDifferent variable types in Bash shell

?? 與 Linux 中的其他事物一樣,變量名稱也區(qū)分大小寫。它們可以由字母、數(shù)字和下劃線 “_” 組成。

在 Bash 腳本中使用變量

你是否注意到我沒有運行 shell 腳本來顯示變量示例? 你可以直接在 shell 中做很多事情.當你關閉終端時,你創(chuàng)建的那些變量將不再存在。

但是,你的發(fā)行版通常會添加全局變量,以便可以在所有腳本和 shell 中訪問它們。

讓我們再寫一些腳本.你應該之前創(chuàng)建了腳本目錄,但無論哪種情況,此命令都會處理該目錄:

mkdir -p bash_scripts && cd bash_scripts

基本上,如果 bash_scripts 目錄尚不存在,它將創(chuàng)建它,然后切換到該目錄。

這里讓我們使用以下文本創(chuàng)建一個名為 knock.sh 的新腳本。

#!/bin/bash
echo knock, knock
echo "Who's there?"
echo "It's me, $USER"

更改文件權限并運行腳本。你在上一章中已經(jīng)學到了。

這是它為我生成的內(nèi)容:

Using global variable in Bahs scriptUsing global variable in Bahs script

你是否注意到它如何自動將我的名字添加到其中? 這就是包含用戶名的全局變量 $USER 的魔力。

你可能還注意到,我有時將 " 與 echo 一起使用,但其他時候則不使用。這是故意的。bash 中的引號 有特殊含義。它們可用于處理空格和其他特殊字符。讓我展示一個例子。

處理變量中的空格

假設你必須使用一個名為 greetings 的變量,其值為 hello and welcome。

如果你嘗試像這樣初始化變量:

greetings=Hello and Welcome

你會得到這樣的錯誤:

Command 'and' not found, but can be installed with:
sudo apt install and

這就是為什么你需要使用單引號或雙引號:

greetings="Hello and Welcome"

現(xiàn)在你可以根據(jù)需要使用該變量。

Using spaces in variable names in bashUsing spaces in variable names in bash

將命令輸出分配給變量

是的!你可以將命令的輸出存儲在變量中并在腳本中使用它們。這稱為命令替換。

var=$(command)

這是一個例子:

[abhishek@itsfoss]:~$ today=$(date +%D)
[abhishek@itsfoss]:~$ echo "Today's date is $today"
Today's date is 06/19/23
[abhishek@itsfoss]:~$

Command substitution in bashCommand substitution in bash

舊語法使用反引號而不是 $() 進行命令替換。雖然它可能仍然有效,但你應該使用新的推薦符號。

?? 變量會更改值,除非你聲明一個“常量”變量,如下所示:readonly pi=3.14。在這種情況下,變量 pi 的值無法更改,因為它被聲明為 readlonly。

??? 練習時間

是時候練習你所學到的東西了。這里有一些練習來測試你的學習情況。

練習 1:編寫一個 bash 腳本,以以下格式打印你的用戶名、當前工作目錄、主目錄和默認 shell。

Hello, there
My name is XYZ
My current location is XYZ
My home directory is XYZ
My default shell is XYZ

提示:使用全局變量 $USER、$PWD$HOME 和 $SHELL。

練習 2: 編寫一個 bash 腳本,聲明一個名為 price 的變量.使用它來獲取以下格式的輸出:

Today's price is $X
Tomorrow's price is $Y

其中 X 是變量 price 的初始值,并且明天價格翻倍。

提示:使用 \ 轉(zhuǎn)義特殊字符 $。

練習的答案可以在社區(qū)的這個專用帖子中討論。

在 Bash 基礎知識系列的下一章中,你將了解如何通過傳遞參數(shù)和接受用戶輸入來使 bash 腳本具有交互性。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2023-07-20 15:37:50

Bash數(shù)組

2023-08-22 21:42:03

Bash函數(shù)

2023-08-11 15:46:40

BashIf Else 語句

2023-07-17 14:29:01

Bash算術運算

2022-12-14 10:08:00

BashLinux

2022-12-02 14:30:24

Bash腳本數(shù)組

2023-08-21 12:31:41

BashForWhile

2023-07-30 09:50:51

Bash字符串

2023-07-15 18:19:47

Bash參數(shù)

2020-10-13 19:04:58

Bash信號捕獲Shell腳本

2019-04-22 14:39:05

BashLinux命令

2019-04-15 11:10:34

Bash方括號命令行

2022-11-30 07:47:00

Bash腳本

2023-06-19 11:30:19

bashshell

2022-01-16 07:48:33

腳本Bash 工具

2023-01-13 12:37:43

Bashshell花括號

2023-05-04 07:33:39

Rust變量常量

2020-04-09 10:18:51

Bash循環(huán)Linux

2023-03-14 08:17:40

Bash編程語言

2022-12-16 09:01:24

點贊
收藏

51CTO技術棧公眾號