成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關于 Linux Bash Shell 中變量的五個易錯點

系統 Linux
這篇文章會根據我的經驗給你5個友情提示。閱讀后,它可以幫助您避免不必要的錯誤。

Linux 中的 Bash 腳本語言支持對變量的操作。但是,如果您從事過其他流行的編程語言開發,那么使用 Bash 處理變量會很容易出錯。因為它的語法與其他語法不同(甚至對某些開發人員來說有點奇怪)。

這篇文章會根據我的經驗給你5個友情提示。閱讀后,它可以幫助您避免不必要的錯誤。

1. 等號周圍沒有空格

對于許多語言,例如 Python,在等號周圍添加空格是一個好習慣,因為它可以提高代碼的可讀性。

但是在 Bash 中,你不應該在定義變量時添加額外的空格。

如果我聲明一個變量 name,如下:

name = "Yang"

這里會有一個錯誤:

-bash: name: command not found

如上所示,Bash 將 name 視為命令而不是變量,因為我添加了不必要的空格。

因此,定義變量的正確方法如下:

name="Yang"

2.正確地定義數組

在 Bash 中定義一個數組并不難。我們只需要使用一對括號來包含所有元素,如下例所示:

names=("Yang" "Elon" "Bill")

俗話說得好,“細節決定成敗"。我之前在編寫 Bash 腳本時犯了一個嚴重的錯誤。我習慣性地使用逗號(而非空格)來分隔數組中的每個元素。

names=("Yang","Elon","Bill")

Bash 不會將逗號視為分隔符,并且在 names 數組中只有一個元素 Yang,Elon,Bill 而不是預期的三個。

3.正確選擇引號

當我們在 Bash 中聲明一個變量時,關于引號的使用有 3 個可選的方案:

  • 沒有引號
  • 用單引號
  • 用雙引號

默認情況下,Bash 中的每個值都是一個字符串。因此,如果不需要空格,我們就不需要使用任何引號。(同樣,它與其他語言有些不同,在其他語言中,您不能在沒有引號的情況下定義字符串)

當您需要使用引號時,請注意單引號和雙引號之間的區別。

例如,讓我們聲明 3 個變量,如下所示。那么,truth1 和 truth2 有什么區別呢?

如果你打印它們,你會看到 truth1 是 ${name} is amazing.。而 truth2 是 Yang is amazing.。

總而言之,一對單引號內的字符串將始終被解釋為它的本身。

4. 避免在命令中使用反引號

在 Bash 中,我們可以將命令的結果保存到變量中。有兩種可能的方法來做到這一點:

  • variable=`command`
  • variable=$(command)

例如,要保存 ls 命令的結果,我們可以這樣寫:

file_list=`ls`

或者

file_list=$(ls)

但是,這里的最佳實踐始終是使用第二種方法,尤其是在編寫較長的腳本時。因為反引號和單引號看起來很相似,有時你可能會混淆它們。

5. 避免使用特殊名稱

一些名稱在 Linux 中被預定義為環境變量,如 USER、HOME、PATH 等。我們可以使用 printenv 命令列出它們。

顯然,我們不應該用與環境變量相同的名稱來聲明我們的變量。

好消息是 Linux 中所有的環境變量都是用大寫字母寫的,所以我們可以用小寫字母來自定義變量,以區別環境變量。這是一個好習慣。

責任編輯:龐桂玉 來源: 馬哥Linux運維
相關推薦

2022-08-01 10:11:24

Bash編程易錯代碼

2010-06-23 16:05:36

Linux Bash

2025-04-10 11:00:00

Python編程開發

2018-04-04 14:41:35

前端JavaScript面試

2022-11-30 07:47:00

Bash腳本

2011-09-28 11:14:35

Zshellzshbash shell

2023-01-04 10:17:19

LinuxBashshell

2012-01-18 09:46:32

Shell

2023-03-05 21:24:48

BashLinux

2023-02-10 09:46:04

bash腳本變量

2010-06-23 17:34:03

Linux Bash

2010-06-23 16:35:50

Linux Bash

2010-06-23 17:37:14

Linux Bash

2023-12-04 16:15:05

Docker容器

2018-01-16 10:08:25

Linuxbashshell

2010-06-23 11:09:14

Linux Bash

2023-06-03 20:36:35

ShellLinuxBash

2009-12-25 09:47:05

LinuxShell編程bash

2013-05-27 09:13:23

2010-06-23 17:16:33

Linux Bash
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本精品一区二区三区四区 | 久草视频在线播放 | 久久亚洲国产精品 | 欧美激情欧美激情在线五月 | 国产精品久久久久久久久免费桃花 | 粉嫩粉嫩芽的虎白女18在线视频 | 91新视频| 亚洲第一网站 | 岛国精品 | 日韩久久中文字幕 | 国产成人精品免费视频大全最热 | 一区二区国产精品 | 中文字幕在线视频免费观看 | 欧美日韩国产中文字幕 | 欧美精品福利视频 | 久久国产精99精产国高潮 | 国产美女自拍视频 | 可以免费看的毛片 | 成人免费看片 | 国产成人区 | 欧美久久久电影 | 欧美一区二区三区视频在线观看 | 日本免费在线观看视频 | 日韩成人专区 | 国产女人与拘做受免费视频 | 亚洲精品国产综合区久久久久久久 | 日韩精品网站 | 国产亚洲精品久久久优势 | 成人美女免费网站视频 | 国产在线看片 | 中文字幕 在线观看 | 超碰免费观看 | www.婷婷 | 日韩三| 欧美13videosex性极品 | 欧美视频 | 华丽的挑战在线观看 | 国产一区二区三区在线 | 99免费视频| 亚洲精品欧美一区二区三区 | 一区二区免费 |