如果您正在學習學習bash腳本的第一步,那麼您來了。這本《狂歡腳本介紹指南》的介紹是通過許多不同的主題創建的,可以使您在編寫第一個bash腳本方面感到舒適。
在學習外殼腳本之前,您應該了解如何與終端一起工作並運行一些基本命令,例如CD,CHMOD,LS,CP,MV等,以及對Linux過程的理解。
目錄
bash shell腳本腳本教程系列初學者
我們創建了一系列涵蓋Bash Shell腳本的核心方面的文章,下面是每篇文章的鏈接。
- bash腳本簡介
- bash中的變量
- bash中的迴聲命令
- bash中的printf命令
- 彈奏中的弦樂操縱
- 重定向
- 狂歡中的有條件陳述
- bash中的案例語句
- bash中的循環
- 及直到循環
- bash選擇循環
- bash的功能
- 索引陣列
- 關聯陣列
- bash聲明命令用法和示例
- Heredoc在Bash中
- getopts-創建腳本以解析命令行參數
- 用bash腳本處理日期和時間
- 如何在Linux中的bash腳本中解析CSV文件
- bash腳本調試技術
- Zenity-在bash腳本中創建GUI對話框
- Whiptail-在bash腳本中創建GUI對話框
- SHFMT-格式殼腳本
- ShellCheck-靜態分析工具
- 如何在狂歡中執行算術操作
- 使用是,否,取消提示
Linux中的外殼是什麼?
Shell是通過接受用戶或進程提交的一組命令來直接與內核交互的接口。
存在許多類型的貝殼,例如魚,ZSH,CSH等。 Bash是最受歡迎的。
bash( b我們的收穫地獄)源自SH(Bourne Shell)。 Bourne Shell的設計旨在遵守POSIX標準,許多受歡迎的外殼(如Bash,Dash,Zsh等)源自Bourne Shell。隨著時間的流逝,BASH添加了一組更豐富的功能,並且不符合Posix標準。
最初,Bourne Shell(SH)再次與Bourne Shell(bash)鏈接,但現在將其與Dash Shell進行了鏈接。如果您試圖使用Bourne Shell(SH)來編寫腳本,以為它指向擊打,那麼它可能不會得到正確的正確性。在編寫腳本之前,請先檢查一下如何在計算機中實現Bourne Shell。
$ <strong>LS -LN/usr/bin/bash/usr/bin/sh</strong> -RWXR-XR-X 1 0 0 1404744 3月19日2021年/usr/bin/bash lrwxrwxrwx 1 0 0 4 3月24日2021年3月<mark>/usr/bin/sh->儀表板</mark>
您可以運行以下命令以檢查有關您的外殼環境的信息。
要檢查操作系統中已安裝的外殼列表,請運行以下命令。安裝的外殼列表可能會根據您的操作系統而有所不同。
$ <strong>cat /etc /shells</strong> # /etc /shells:有效的登錄外殼 /bin/sh /bin/bash /usr/bin/bash /bin/rbash /usr/bin/rbash /bin/dash /usr/bin/dash /usr/bin/sh /usr/bin/tmux
要檢查當前的外殼運行以下命令:
$ <strong>echo $ shell</strong> /usr/bin/bash
要檢查Bash Shell的版本,請運行以下命令:
$ bash- version
樣本輸出:
gnu bash,<mark>版本5.1.4(1)-Release(x86_64-pc-linux-gnu)</mark> 版權所有(C)2020 Free Software Foundation,Inc。 許可GPLV3:GNU GPL版本3或更高版本<http:> 這是免費軟件;您可以自由更改並重新分配它。 在法律允許的範圍內,沒有保證。</http:>
文件擴展
Linux將所有內容都視為文件,並且不得強制添加腳本的擴展名(.sh或.bash)。儘管這不是強制性的,但我建議您在Shell腳本中添加擴展名,因此您可以知道您正在處理哪種類型的文件。
在Linux中創建文件時,請嘗試避免文件之間的空間,並添加下劃線作為分離器。原因是,當文件名之間有一個空間時,您要么必須添加雙引號或使用後斜擊。
$ touch/home/$ {user}/documents/“ first script.sh”
$ LS -L/home/$ {user}/documents/<mark>第一個\ script.sh</mark> -rw-rw-r-- 1 Karthick Karthick 0 10月21日22:55'/home/karthick/documents/first script.sh'
$ LS -L/home/$ {user}/documents/<mark> “第一個腳本.sh”</mark> -rw-rw-r-- 1 Karthick Karthick 0 10月21日22:55'/home/karthick/documents/first script.sh'
什麼是Shebang?
Shebang是創建腳本時您編寫的第一行。 Shebang指向口譯員的絕對道路。例如,如果您正在編寫Bash腳本,則Shebang系列應如下。
#!/usr/bin/bash
或者,
#!/bin/bash
您還可以通過運行類型命令找到解釋器路徑。
<strong>$ type -a bash</strong> bash是/usr/bin/bash bash是 /bin /bash
Shebang不僅綁在bash腳本上。即使您使用Python,Perl或任何其他語言創建程序,您也必須將Shebang指向解釋器。
#!/usr/bin/python3 #!/usr/bin/perl
也可以在沒有Shebang的情況下創建和運行腳本,但是作為一個很好的做法,總是嘗試將Shebang作為您腳本中的第一行。
絕對路徑和相對路徑
在運行第一個腳本之前,您應該了解絕對路徑和相對路徑之間的區別。
絕對路徑- 指向從層次結構(/)頂部開始的文件的完整路徑。例如,如果您在桌面下有名為“ first_script.sh”的腳本,則絕對路徑將為“/home/username/desktop/first_script.sh”。
相對路徑- 在相對路徑中,該文件存在於當前工作目錄中。在每個目錄中,您都可以找到兩個目錄( 。和.. )。單點點指向您所處的當前目錄。雙點點在當前目錄上方的一個目錄上。換句話說,單點表示當前目錄,而雙點表示父目錄。
創建和運行第一個bash腳本的步驟
創建和運行腳本是一個四步過程。
1。使用.sh擴展名創建一個新文件。您可以直接從文本編輯器創建文件並保存文件。我正在使用touch命令來創建文件。
$ touch/home/juser }/first_script.sh
2。授予執行腳本的權限。
$ chmod ux/home/$ {user }/first_script.sh
3。複製粘貼在下面的代碼下並保存。
#!/usr/bin/bash 迴聲“嗨。這是您學習bash腳本的第一步”
4。運行腳本。有不同的方法觸發腳本。如上一節中所述,您可以使用絕對路徑或相對路徑調用腳本。
#使用完整路徑觸發。 $ /home/juser }/first_script.sh
在相對路徑中,您必須添加一個點。 )並向前斜杠( / )指向當前目錄,然後是腳本名稱。
#使用相對路徑觸發。 $ cd/home/$ {用戶}/ $ ./first_script.sh
評論的重要性
評論在BASH腳本中非常重要。它將幫助您或與您合作的人了解腳本的目的以及其工作原理。在Bash中,您可以使用#符號(哈希)來創建註釋。除Shebang行以外,您前面的任何線條都將由#符號視為評論。
看看下圖。不要專注於該程序的作用,而只是專注於評論部分。
- 包括腳本相關的信息,例如作者,腳本創建日期,版本等。根據您的要求,您可以添加更多信息。
- 塊評論將幫助您了解評論後的代碼。
- 內聯評論與該聲明相同的行添加。它告訴您那條特定的行在做什麼。在這裡,我的內聯評論表明它正在調用虛擬功能。
當您編寫大量bash腳本時,您會知道寫評論的最佳實踐。
結論
這是一系列bash腳本的介紹文章,其中涵蓋了重要主題,例如文件擴展名,shebang和評論,以使您編寫第一個Shell腳本。在介紹部分中,我們提供了與本系列中所有文章的鏈接。
如果您在Linux環境中工作,則bash腳本是您無法忽略的。如果您已經有編程經驗,那麼學習bash將不是一個障礙。
對於任何反饋,請使用評論部分,我們很高興收到您的來信。
以上是bash腳本簡介[26個主題]的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Linux在服務器和開發環境中性能優異,而Windows在桌面和遊戲領域表現更好。 1)Linux的文件系統在處理大量小文件時表現出色。 2)Linux在高並發和高吞吐量網絡場景中表現優異。 3)Linux的內存管理在服務器環境中更具優勢。 4)Linux在執行命令行和腳本任務時效率高,而Windows在圖形界面和多媒體應用上表現更好。

創建圖形用戶界面(GUI)應用程序是使您的想法栩栩如生並使您的程序更加用戶友好的絕佳方法。 PygoBject是一個Python庫,允許開發人員使用Linux桌面上創建GUI應用程序

Arch Linux提供了靈活的尖端系統環境,是一種非常適合在小型非關鍵系統上開發Web應用程序的解決方案,因為是完全開源的,並且在內核上提供了最新的最新版本

由於其滾動釋放模型,該模型包含尖端軟件Arch Linux的設計和開發以作為服務器運行以提供可靠的網絡服務,因為它需要額外的時間進行維護,持續的升級和明智的FI
![12必備Linux控制台[終端]文件管理器](https://img.php.cn/upload/article/001/242/473/174710245395762.png?x-oss-process=image/resize,p_40)
Linux控制台文件管理器在日常任務,在本地計算機上管理文件時或連接到遠程時,可能非常有幫助。目錄的視覺控制台表示可以幫助我們快速執行文件/文件夾操作和SAV

Qbittorrent是一個受歡迎的開源Bittorrent客戶端,允許用戶通過Internet下載和共享文件。最新版本Qbittorrent 5.0最近發行了,並帶有新功能和改進。 本文將

以前的Arch Linux LEMP文章僅涵蓋了基本內容,從安裝網絡服務(NGINX,PHP,MYSQL和PHPMYADMIN)以及配置MySQL Server和PhpMyAdmin所需的最低安全性。 這個主題與形式嚴格有關

Zenity是一種工具,可讓您使用命令行在Linux中創建圖形對話框。它使用GTK,這是一種用於創建圖形用戶界面(GUI)的工具包,使您可以輕鬆地將視覺元素添加到您的腳本中。 Zenity可能非常


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用