Unix / Linux - 使用 Shell 變量
Hello there, future Linux wizards! Today, we're diving into the magical world of shell variables. As your friendly neighborhood computer teacher, I'm here to guide you through this journey, making it as fun and easy as possible. So, grab your virtual wands (keyboards), and let's get started!
變量名稱
Unix/Linux shell 中的變量就像是小容器,為我們保存信息。把它們想象成我們可以存放物品的標籤盒子。但在我們開始填充這些盒子之前,我們需要知道如何正確地為它們命名。
變量命名的規則:
- 開始於一個字母(a-z, A-Z)或下劃線(_)。
- 可以包含字母、數字和下劃線。
- 大小寫敏感(myVar 與 MyVar 不同)。
- 不允許空格或特殊字符。
以下是一些有效的變量名稱示例:
user_name
_secret
count123
MY_BIG_VARIABLE
以下是一些無效的名稱示例:
2fast2furious (以數字開頭)
my-variable (包含連字符)
user name (包含空格)
$money (以特殊字符開頭)
記住,選擇好的變量名稱就像在巫師決鬥中選擇正確的咒語一樣 - 這可能會產生巨大的影響!
定義變量
現在我們知道了如何為我們的變量命名,讓我們來學習如何創建它們。在 Unix/Linux shell 中,我們使用賦值運算符(=)來定義變量。這裡是基本的語法:
variable_name=value
重要:等號兩邊不應該有空格。如果你的值中包含空格,請將其括在引號中。
讓我們試一些例子:
name="John Doe"
age=25
favorite_color="blue"
在這些例子中,我們創建了三個變量:name
、age
和 favorite_color
,並為它們賦予了值。
訪問值
太棒了!我們已經保存了我們的信息,但我們如何检索它呢?為了訪問變量的值,我們使用美元符($)後跟變量名稱。讓我們看看這是如何工作的:
echo $name
echo "My age is $age"
echo "I love the color $favorite_color"
當你運行這些命令時,你會看到:
John Doe
My age is 25
I love the color blue
酷炫吧?就像魔法一樣,但更好,因為你理解了它是如何工作的!
只讀變量
有時候,我們希望創建一旦設置後就不能更改的變量。這些被稱為只讀變量。要創建一個只讀變量,使用 readonly
命令:
readonly PI=3.14159
echo $PI
PI=3.14 # 這將導致錯誤
如果你試圖更改一個只讀變量,shell 將會像嚴肅的教授一樣責備你!
刪除變量
如果我們想要完全移除一個變量會怎麼樣?這就是 unset
命令派上用場的地方。以下是如何操作:
fruit="apple"
echo $fruit # 輸出:apple
unset fruit
echo $fruit # 輸出:(無內容)
記住,你不能刪除只讀變量。它們就像是 shell 世界中的長老魔杖 - 一旦創建,它們就會永遠存在!
變量類型
在 shell 腳本中,變量可以保存不同類型的數據。讓我們探討主要的類型:
類型 | 描述 | 示例 |
---|---|---|
字符串 | 字符序列 | name="John" |
整數 | 整數 | age=30 |
陣列 | 值的列表 | fruits=("apple" "banana") |
布爾 | 真 或 假(shell 中為 0 或 1) | is_student=true |
讓我們看看這些類型是如何操作的:
# 字符串
greeting="Hello, World!"
echo $greeting
# 整數
year=2023
echo "Current year is $year"
# 陣列
colors=("red" "green" "blue")
echo "My favorite color is ${colors[0]}"
# 布爾(表示為 0 或 1)
is_raining=0
if [ $is_raining -eq 0 ]; then
echo "It's a sunny day!"
else
echo "Don't forget your umbrella!"
fi
在這個例子中,我們使用了不同類型的變量並展示了如何操作它們。數組有點特殊 - 我們使用花括號和索引來訪問個別元素。
記住,與某些編程語言不同,shell 腳本不會嚴格強制這些類型。這取決於你,這位正在學習的巫師,來正確使用它們!
結論
And there you have it, my young padawans! We've journeyed through the land of Unix/Linux shell variables, from naming and defining to accessing and unsetting. We've even peeked into the different types of variables you might encounter.
Remember, practice makes perfect. Try creating your own variables, play around with them, and don't be afraid to make mistakes. That's how all great Linux wizards learn!
In our next lesson, we'll explore how to use these variables in more complex shell scripts. Until then, may the shell be with you!
Credits: Image by storyset