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

你可能不知道的有用的 Linux Bash 命令

系統 Linux
Bash 中有一些強大的命令你可能不知道,即使你已經相當熟練地使用該語言。盡管如此,所有這些命令都可以起到非常有用的作用,并且可以使您編寫的 Shell 腳本比以前更簡潔、更可維護、更強大。

Bash 是一種相當強大的編程語言,而且也很容易上手。

畢竟,當您打開 Linux 終端時,它幾乎都是您將看到的 Shell。這使得習慣它非常有用。

Bash 中有一些強大的命令你可能不知道,即使你已經相當熟練地使用該語言。盡管如此,所有這些命令都可以起到非常有用的作用,并且可以使您編寫的 Shell 腳本比以前更簡潔、更可維護、更強大。

read命令:獲取用戶輸入

read 命令允許您從用戶那里獲取輸入,并將其存儲在變量中。

#!/usr/bin/env bash
# www.linuxmi.com
echo "你的名字叫什么?"
read name
echo "你的名字是 ${name}!"

這將等待您(用戶)的輸入,然后將name變量的值設置為您輸入的字符串。

例如,如果您Linuxmi.com?在運行上述腳本時指定您的姓名,它將輸出你的名字是 Linuxmi.com!。

您還可以通過在 read? 命令中指定-p? 選項使上述示例更加緊湊,該選項將打印 -p 之后指定的字符串,然后請求用戶輸入:

#!/usr/bin/env bash
read -p "你的名字叫什么? " name
echo "你的名字是 ${name}!"

你還會注意到我在 你的名字叫什么?? 后面加了一個空格。如果我們不添加它,它就會直接打印 你的名字叫什么? 沒有空格,這會讓用戶在輸入時看起來更奇怪:

Mapfile:為變量分配文件行的值

您可以使用該mapfile命令讀取文件的內容,然后將該輸出分配給 Bash 數組,只要在文件中遇到新行時,就會創建每個數組項。

例如,讓我們創建一個名為file.txt的文件,其中包含以下文本:

Line 1
Line 2
Line 3
Line 4
Line 5

您可以通過運行以下命令將此文件轉換為Bash 數組,它將文件的內容分配給file_var變量:

#!/usr/bin/env bash
mapfile file_var < file.txt

for i in "${file_var[@]}"; do
echo "${i}"
done

您會注意到,上面的內容也會產生一些奇怪的間隔輸出,這些輸出與文件中的內容不一致,這可以通過在 mapfile? 命令中添加-t選項來解決:

#!/usr/bin/env bash
mapfile -t file_var < file.txt

for i in "${file_var[@]}"; do
echo "${i}"
done

最后,您可能會注意到以下內容不起作用:

#!/usr/bin/env bash
cat file.txt | mapfile -t file_var

這是因為管道右側的mapfile命令在子 shell(或者換句話說,是 Bash 的一個新實例))中運行的,它無法影響您當前的 shell。

source:將文件中的變量放入 shell 的環境中

假設您有config.sh文件,并具有以下內容:

username=linuxmi
domain=linuxmi.com

如果您想獲取該文件的內容并將其放入您當前的 shell 環境中怎么辦?

這可以通過使用 source 命令非常簡單地完成:

source config.sh

然后,您可以檢查變量是否按預期分配:

實際上,該source?命令實際上在您當前的 shell 環境中運行指定的文件,因此在該文件中鍵入任何命令實際上會導致它們在運行時被執行source。

例如,讓我們將以下內容放入config.sh:

name="linuxmi.com"
echo "Hello ${name}!"
echo "祝您今天過得愉快!"

然后,如果我們運行 source config.sh?,您將看到兩個echo?命令運行,以及name變量被分配:

您也可以使用.?代替source?,其行為方式與source相同。

總結

就這樣,您可以在 Bash 中完成更強大、更有用的任務。

責任編輯:趙寧寧 來源: Linux迷
相關推薦

2012-11-23 10:57:44

Shell

2020-06-22 08:09:22

GitHub工具開發

2023-02-27 09:20:24

絕對定位CSS

2023-01-29 09:46:47

Dialog彈窗模態

2015-08-13 09:03:14

調試技巧

2019-11-20 10:25:06

sudoLinux

2020-01-29 19:40:36

Python美好,一直在身邊Line

2021-01-05 11:22:58

Python字符串代碼

2016-09-05 13:14:11

2010-07-29 09:18:31

Linux用戶

2010-07-26 13:24:11

2010-08-10 09:13:49

Linux用戶

2010-07-21 12:37:11

Linux用戶

2022-01-17 22:33:37

Java特定類型

2021-07-12 07:59:06

安全 HTML 屬性

2009-09-04 11:06:06

Linux桌面Linux操作系統linux

2014-12-08 10:39:15

2019-11-25 14:05:47

Python裝飾器數據

2021-12-17 00:10:00

ChromeDevtools功能

2019-04-30 08:09:12

Windows 10操作系統工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 四虎最新 | 一级黄色录像毛片 | 国产精品99 | 国产精品一二区 | 国产yw851.c免费观看网站 | 亚洲嫩草 | 国产精品久久一区二区三区 | 日韩欧美三级电影在线观看 | 日韩精品在线免费 | 午夜av电影| 国产精品久久影院 | 九九热精品视频在线观看 | 97精品超碰一区二区三区 | 久草99 | 成人毛片在线视频 | 97人人爱| 日韩一区中文字幕 | 伊人伊人 | 欧美亚洲视频 | 在线成人av| 精品国产一区久久 | 欧美日韩亚洲国产综合 | 精品亚洲视频在线 | 九九热国产精品视频 | 亚洲精选一区二区 | 一区二区三区免费观看 | 亚洲国产精品网站 | 日韩午夜在线播放 | 亚洲啊v| 成人一级黄色毛片 | 国产av毛片 | 日韩欧美国产精品一区二区三区 | 黄色av网站在线观看 | 伊人在线 | 婷婷综合网 | 国产精品久久久爽爽爽麻豆色哟哟 | 久久精品色欧美aⅴ一区二区 | 黄a网站| 亚洲欧洲精品成人久久奇米网 | 亚洲视频手机在线 | 日本久久久影视 |