Bash Script là gì?

What Is Bash Script



Bạn đã bao giờ nghe bố bảo bạn lấy cốc nước chưa? Bạn có quyền lựa chọn để nói Không, nhưng máy tính không có lựa chọn đó. Máy tính sẽ làm chính xác những gì bạn sẽ yêu cầu chúng làm. Bash chỉ là một shell cho phép bạn giao tiếp với máy tính và cho phép bạn đưa ra hướng dẫn cho nó. Tập lệnh về cơ bản chỉ là một tập hợp các hướng dẫn được cung cấp cho máy tính để thực hiện các tác vụ có ý nghĩa khác nhau. Tập lệnh giúp bạn tự động hóa các tác vụ khác nhau cùng với sự sang trọng để đạt được kết quả nhanh hơn so với quy trình thông thường. Thông thường, trong terminal, bạn viết một lệnh bash cơ bản hoặc nâng cao và nó sẽ thực thi trên đó ngay lập tức. Trong tập lệnh bash, bạn có thể đưa ra nhiều hướng dẫn hoặc lệnh cùng một lúc và máy tính sẽ thực thi tất cả chúng chỉ khi bạn thực thi tập lệnh. Tóm lại, một lệnh bash có thể được thực thi trong terminal nhưng để thực hiện kết hợp nhiều lệnh cùng một lúc, bạn cần tạo một tập lệnh bash.

Tại sao bash lại hữu ích và nó hữu ích cho ai?

Nếu bạn muốn kiểm soát nhiều hơn hệ điều hành của mình và muốn thực hiện các tác vụ liên quan đến hệ điều hành khác nhau thì bash là cách của bạn. Chúng tôi không chỉ đề cập đến ngôn ngữ kịch bản mà còn đề cập đến các công cụ đi kèm với hệ điều hành Linux. Mỗi công cụ trên Linux đều có công việc của nó và mỗi công cụ thực hiện một nhiệm vụ riêng lẻ. Bash thực sự hữu ích bất cứ khi nào bạn cần kết hợp tất cả các công cụ đó và chuỗi chúng lại với nhau theo cách mà tất cả chúng hoạt động hài hòa để hoàn thành một nhiệm vụ thực sự khó làm khác. Ví dụ: bất kỳ điều gì liên quan đến Hệ điều hành Linux cũng có thể được thực hiện bằng các ngôn ngữ lập trình khác như Python hoặc Perl nhưng rất khó để thực hiện các tác vụ liên quan đến Hệ điều hành khác nhau. Một cách đơn giản, đen trắng và dễ dàng nhất để làm bất cứ điều gì liên quan đến hệ điều hành Linux là sử dụng bash. Đối với bất kỳ ai muốn thực hiện các tác vụ bao gồm các công cụ của Hệ điều hành Linux (chẳng hạn như ls, cd, cat, touch, grep, v.v.), việc học bash thay vì bất kỳ ngôn ngữ lập trình nào khác thực sự hữu ích.







So sánh Bash với các ngôn ngữ lập trình khác như thế nào?

Nếu chúng ta nói về bash thì chúng ta biết rằng bash không phải là một ngôn ngữ lập trình có mục đích chung mà là một trình thông dịch dòng lệnh. Bash thực sự hữu ích để thực hiện các tác vụ xung quanh các công cụ và quy trình khác nhau với khả năng kết hợp các quy trình khác nhau với nhau và làm cho tất cả chúng hoạt động hướng tới một mục tiêu duy nhất. Bash thực sự tiện dụng khi xử lý và thao tác các đầu vào và đầu ra, một điều thực sự khó thực hiện trong các ngôn ngữ lập trình đa năng khác như python, C, v.v. Tuy nhiên, khi nói đến cấu trúc dữ liệu và các tác vụ phức tạp như vì thao tác dữ liệu phức tạp, bash không thể xử lý các tác vụ như vậy và chúng ta phải hướng tới các ngôn ngữ lập trình như Python, Perl, C, v.v. Trong ngôn ngữ lập trình, bạn có thể xây dựng phần mềm hoặc công cụ nhưng bạn không thể xây dựng một trong hai ngôn ngữ đó bằng bash. Tuy nhiên, bạn có thể sử dụng bash để chạy các công cụ hoặc hợp nhất các công cụ đó với nhau để chạy hiệu quả. Nó giống như việc chế tạo một tên lửa, nếu chúng ta coi đây là phép ẩn dụ, thì ngôn ngữ lập trình sẽ giúp bạn chế tạo tên lửa trong khi bash sẽ giúp bạn lái tên lửa và giúp bạn định hướng và giúp bạn hạ cánh nó lên mặt trăng hoặc sao hỏa.



Làm thế nào để tạo và chạy Bash Scripts?

Để tạo tập lệnh bash, trước tiên bạn phải tạo một tệp văn bản có phần mở rộng là .sh ở cuối tên tệp. Bạn có thể tạo tệp kịch bản bash bằng cách sử dụng thiết bị đầu cuối.



$chạm vàoscript.sh


Sau khi nhập lệnh trên, hãy nhấn phím enter và bạn sẽ có tệp kịch bản bash được tạo trong thư mục làm việc hiện tại của mình. Nhưng không phải vậy, chúng tôi đã tạo tệp kịch bản nhưng chúng tôi phải thực hiện một số hành động nhất định để hoàn thành và chạy tập lệnh. Trước hết, hãy mở tệp script trong trình soạn thảo nano hoặc gedit và trên dòng đầu tiên nhập:





#! / bin / bash


Đây là dòng đầu tiên tiêu chuẩn cho mọi tệp kịch bản bash giúp nó được công nhận là một tập lệnh bash. Bất kỳ tập lệnh nào không có #! / Bin / bash ở dòng đầu tiên sẽ không được coi là tập lệnh bash, vì vậy hãy đảm bảo thêm dòng này vào đầu mỗi tập lệnh. Khi bạn đã thêm dòng này, bây giờ bạn có thể bắt đầu viết vào script. Ví dụ: tôi sẽ viết ở đây một lệnh echo đơn giản:

$quăng điĐây là LinuxHint, Nền tảng học tập tốt nhấtBash


Khi bạn đã viết lệnh này, bây giờ bạn có thể tiếp tục lưu nó và quay lại thiết bị đầu cuối của bạn. Viết vào thiết bị đầu cuối của bạn:



$ls -đến


Bạn có thể thấy ‘script.sh’ được viết bằng màu trắng, đây là dấu hiệu cho thấy tập lệnh là một tệp không thực thi được vì các tệp thực thi thường có màu xanh lục. Hơn nữa, hãy nhìn vào phía bên trái, nơi chúng ta có thể thấy một mẫu như -rw-r – r– phản ánh rằng tệp chỉ có thể đọc và ghi được.
Phần đầu tiên chứa ‘rw’ là các quyền dành cho chủ sở hữu có thể là người dùng hiện tại.

Phần thứ hai chứa ‘r’ là quyền cho nhóm mà chúng tôi có nhiều người dùng.

Trong khi phần thứ 3 có chứa ‘r’ là quyền cho công chúng có nghĩa là bất kỳ ai cũng có thể có các quyền này đối với tệp được đề cập.

‘R’ là viết tắt của quyền đọc, ‘w’ là viết tắt của quyền ghi, ‘x’ là viết tắt của quyền thực thi. Rõ ràng, chúng tôi không thấy x so với ‘script.sh’. Để thêm quyền thực thi, có hai cách để thực hiện.

Phương pháp 1

Trong phương pháp này, bạn có thể viết một lệnh chmod đơn giản với ‘+ x’ và nó sẽ thêm các quyền thực thi.

$chmod+ x script.sh


Tuy nhiên, đây không phải là cách hiệu quả nhất để cấp quyền thực thi vì nó cấp quyền thực thi không chỉ cho chủ sở hữu mà còn cho cả nhóm và công khai mà chúng tôi chắc chắn không muốn vì lý do bảo mật. Hãy xem:

Phương pháp 2

Trong phương pháp này, bạn có thể sử dụng các số để chỉ định các quyền của một tệp. Trước khi chúng ta đi sâu vào vấn đề đó, tôi muốn cung cấp cho bạn một ý tưởng ngắn gọn về ý nghĩa của những con số đó và cách bạn có thể sử dụng chúng để thao túng các quyền.
đọc = 4
ghi = 2
thực thi = 1
Số quyền sẽ có ba chữ số sau lệnh chmod và mỗi chữ số đại diện cho quyền của chủ sở hữu, nhóm và những người khác (công khai). Ví dụ: để cấp quyền đọc, ghi và thực thi cho chủ sở hữu và quyền đọc cho nhóm và những người khác sẽ giống như sau:

$chmod 744script.sh


Nếu bạn có thể nhận thấy, thì bạn sẽ nhận ra rằng chúng tôi đã thêm số đọc, viết và thực thi cho chủ sở hữu ở chữ số đầu tiên là 4 + 2 + 1 = 7, và đối với nhóm và những người khác, chúng tôi sử dụng chữ số đọc tức là 4.

Chạy tập lệnh Bash

Bây giờ cuối cùng chúng ta đã đạt đến điểm mà chúng ta có thể chạy tập lệnh bash. Để chạy tập lệnh bash của bạn, bạn cần đảm bảo rằng bạn đang ở trong thư mục làm việc hiện tại nơi tập lệnh của bạn cư trú. Điều này không bắt buộc nhưng theo cách đó, thật dễ dàng vì bạn không cần phải viết toàn bộ đường dẫn. Khi bạn đã làm xong, bây giờ hãy tiếp tục và viết vào terminal của bạn ./nameofscript.sh. Trong trường hợp của chúng tôi, tên của tập lệnh là ‘script.sh’, vì vậy chúng tôi sẽ viết:

$./script.sh

3 Ví dụ đơn giản về Bash Script

Xin chào LinuxHint
Trước hết, chúng tôi sẽ tạo một tệp bash trong thư mục làm việc hiện tại:

$nanoF_script.sh


Bên trong tệp, bạn cần viết như sau:

#! / bin / bash
quăng đi 'Xin chào LinuxHint'


Khi bạn đã viết nó, bây giờ hãy thử nhấn Ctrl + O để ghi các thay đổi tệp, sau đó nếu bạn muốn giữ nguyên tên đó, hãy nhấn enter, nếu không, hãy chỉnh sửa tên rồi nhấn enter. Bây giờ nhấn Ctrl + X để thoát khỏi trình soạn thảo nano. Bây giờ bạn sẽ thấy một tệp có tên F_script.sh trong thư mục hiện tại của bạn.
Để chạy tệp này, bạn có thể thay đổi quyền của nó để làm cho tệp có thể thực thi được hoặc bạn có thể viết:

$bấu víuF_script.sh


Lệnh Echo
Khi chúng ta nói về lệnh echo, nó đơn giản được sử dụng để in ra khá nhiều thứ mà bạn muốn in ra miễn là nó được viết bên trong dấu ngoặc kép. Thông thường, khi bạn chạy một lệnh echo mà không có bất kỳ cờ nào, nó sẽ để lại một dòng sau đó in ra đầu ra. Ví dụ: nếu chúng ta có một tập lệnh:

#! / bin / bash
quăng đi 'In trên dòng tiếp theo'

Sau khi nó được lưu, nếu chúng ta chạy nó:

$bấu víuF_script.sh


Nếu chúng ta sử dụng cờ ‘-n’ với echo thì nó sẽ in trên cùng một dòng.

#! / bin / bash
quăng đi -n 'In trên cùng một dòng'

Sau khi nó được lưu, nếu chúng ta chạy nó:

$bấu víuF_script.sh


Tương tự, nếu chúng ta sử dụng ‘ n’ hoặc ‘ t’ trong dấu ngoặc kép, nó sẽ in như hiện tại.

#! / bin / bash
quăng đi ' In trênNScùng một dòng '


Tuy nhiên, nếu chúng ta sử dụng cờ ‘-e’, thì tất cả không chỉ biến mất mà còn áp dụng n và t và bạn có thể thấy những thay đổi trong kết quả bên dưới:

#! / bin / bash
quăng đi -Và ' In trênNScùng một dòng '


Nhận xét bằng BASH
Nhận xét là một dòng không quan trọng đối với máy tính. Bất cứ điều gì bạn viết dưới dạng nhận xét đều bị máy tính vô hiệu hóa hoặc bỏ qua và không ảnh hưởng gì đến mã đã viết. Nhận xét thường được coi là một cách hữu ích hơn để một lập trình viên hiểu được logic của mã để khi anh ta quay lại làm lại các đoạn mã, những nhận xét đó có thể nhắc nhở anh ta về logic và lý do tại sao anh ta đã viết mã trong một đoạn mã cụ thể. đường. Các nhận xét cũng có thể được sử dụng bởi các lập trình viên khác, những người có thể muốn thực hiện các thay đổi đối với mã. Nếu bạn đã viết một đoạn mã và bạn không muốn xóa nó nhưng bạn muốn xem đầu ra mà không có đoạn mã cụ thể đó thì bạn có thể nhận xét về đoạn mã cụ thể đó và tiếp tục và thực thi. Chương trình của bạn sẽ chạy tốt, sẽ mang lại cho bạn kết quả tốt trong khi mã bổ sung đó vẫn còn trong tập lệnh của bạn nhưng nó không hiệu quả do các nhận xét. Bất cứ khi nào bạn muốn sử dụng lại đoạn mã đó, hãy tiếp tục và bỏ ghi chú những dòng đó và bạn đã sẵn sàng.
Có hai cách bạn có thể viết bình luận trong bash; một cách là viết bình luận một dòng trong khi cách kia được sử dụng để viết bình luận nhiều dòng.

Nhận xét dòng đơn
Trong các nhận xét trên một dòng, chúng tôi sử dụng dấu ‘#’ giúp nhận xét trên toàn bộ dòng. Bất kỳ thứ gì được viết trên dòng theo sau là ‘#’ sẽ được coi là một nhận xét và sẽ không có giá trị thực khi chúng ta đang thực thi tập lệnh. Chú thích dòng đơn này có thể được sử dụng để truyền đạt logic và sự hiểu biết về mã cho người có quyền truy cập vào mã.

#! / bin / bash
quăng đi -Và ' In trênNScùng một dòng '
# Tập lệnh này giúp chúng tôi áp dụng / kết hợp của / n và / t



Nhận xét nhiều dòng
Giả sử bạn muốn nhận xét hàng trăm dòng trong kịch bản của mình. Trong trường hợp đó, bạn sẽ khó sử dụng nhận xét một dòng. Bạn không muốn lãng phí thời gian của mình để đặt # trên mỗi dòng. Chúng ta có thể sử dụng ‘:’ và sau đó là ‘bất kỳ ý kiến ​​nào’. Nó sẽ giúp bạn nhận xét về nhiều dòng chỉ bằng cách gõ vào 3 ký hiệu rất tiện dụng và hữu ích.

#! / bin / bash ’
: ‘Đây là tập lệnh đảm bảo
n và t hoạt động và được áp dụng
trongmột cách mà chúng tôi có đầu ra cần thiết '
quăng đi -Và ' In trênNScùng một dòng '



Hãy xem 30 ví dụ về tập lệnh Bash trên Linuxhint.com:

30 Ví dụ về Bash Script

6 bài học quan trọng nhất trong Bash Scripting

1. Tuyên bố có điều kiện
Câu lệnh điều kiện là một công cụ rất hữu ích trong việc ra quyết định. Nó được sử dụng rộng rãi trong các ngôn ngữ lập trình. Thông thường hơn, chúng ta cần đưa ra quyết định dựa trên một số điều kiện nhất định. Câu lệnh điều kiện đánh giá điều kiện đã cho và đưa ra quyết định. Trong bash, chúng ta cũng sử dụng câu lệnh điều kiện giống như bất kỳ ngôn ngữ lập trình nào khác. Cú pháp sử dụng câu lệnh điều kiện trong bash hơi khác một chút so với các ngôn ngữ lập trình khác. Điều kiện if là câu lệnh điều kiện được sử dụng phổ biến nhất trong bash và các ngôn ngữ lập trình đa năng khác. Điều kiện if đánh giá điều kiện đã cho và đưa ra quyết định. Điều kiện đã cho còn được gọi là biểu thức kiểm tra. Có nhiều cách để sử dụng điều kiện if trong bash. Điều kiện if được sử dụng với khối else. Trong trường hợp, nếu điều kiện đã cho là đúng, thì các câu lệnh bên trong khối if sẽ được thực thi, nếu không thì khối else sẽ được thực thi. Có nhiều cách sử dụng câu lệnh điều kiện if trong Bash như sau:

  1. Câu lệnh if
  2. Câu lệnh if else
  3. Câu lệnh if lồng nhau
  4. Câu lệnh if elif

Câu lệnh if
Câu lệnh if chỉ đánh giá điều kiện đã cho, nếu điều kiện cho trước là true thì các câu lệnh hoặc lệnh bên trong khối if được thực hiện, nếu không thì chương trình bị kết thúc. Trong bash, nếu điều kiện bắt đầu bằng từ khóa if và kết thúc bằng từ khóa fi. Từ khóa then được sử dụng để xác định khối các câu lệnh hoặc lệnh thực thi khi một điều kiện nào đó là đúng. Hãy khai báo một biến và sử dụng điều kiện if để đánh giá giá trị của biến đó có lớn hơn 10 hay không. -Gt được sử dụng để đánh giá điều kiện lớn hơn trong khi -lt được sử dụng để đánh giá điều kiện nhỏ hơn.

#! / bin / bash
Ở ĐÂU=100
# khai báo điều kiện if
nếu như [ $ VAR -gt 10 ]
sau đó
quăng đi 'Các$ VARlớn hơn 10 '
#ending điều kiện if
thì là ở


Câu lệnh if else
Câu lệnh if else cũng được sử dụng như một câu lệnh điều kiện. Các câu lệnh hoặc lệnh sau điều kiện if được thực hiện nếu điều kiện đã cho là đúng. Ngược lại, khối else được thực thi nếu điều kiện đã cho không đúng. Khối else được theo sau bởi khối if và bắt đầu bằng từ khóa else.

#! / bin / bash
Ở ĐÂU=7
# khai báo điều kiện if
nếu như [ $ VAR -gt 10 ]
sau đó
quăng đi 'Các$ VARlớn hơn 10 '
#dec Tuyên bố khối khác
khác
quăng đi 'Các$ VARnhỏ hơn 10 '
#ending điều kiện if
thì là ở


Nhiều điều kiện có thể được đánh giá bằng cách sử dụng điều kiện if. Chúng ta có thể sử dụng toán tử và (&) và hoặc toán tử (II) để đánh giá nhiều điều kiện bên trong một câu lệnh if duy nhất.

#! / bin / bash
Ở ĐÂU=hai mươi
# khai báo điều kiện if
nếu như [[ $ VAR -gt 10 && $ VAR -lt 100 ]]
sau đó
quăng đi 'Các$ VARlớn hơn 10 và nhỏ hơn 100 '
#dec Tuyên bố khối khác
khác
quăng đi 'Điều kiện không thỏa mãn'
#ending điều kiện if
thì là ở


Câu lệnh if lồng nhau
Trong câu lệnh if lồng nhau, chúng ta có một câu lệnh if bên trong một câu lệnh if. Câu lệnh if đầu tiên được đánh giá, nếu nó đúng thì câu lệnh if còn lại được đánh giá.

#! / bin / bash
Ở ĐÂU=hai mươi
# khai báo điều kiện if
nếu như [[ $ VAR -gt 10 ]]
sau đó
#if điều kiện bên trong if consition khác
nếu như [ $ VAR -lt 100 ]
sau đó
quăng đi 'Các$ VARlớn hơn 10 và nhỏ hơn 100 '
#dec Tuyên bố khối khác
khác
quăng đi 'Điều kiện không thỏa mãn'
#ending điều kiện if
thì là ở
khác
quăng đi 'Các$ VARnhỏ hơn 10 '
thì là ở


Câu lệnh if elif
Câu lệnh if elif được sử dụng để đánh giá nhiều điều kiện. Điều kiện đầu tiên bắt đầu bằng khối if và các điều kiện khác được theo sau bởi từ khóa elif. Hãy xem xét ví dụ về số biến trước đó và triển khai câu lệnh if elif trong tập lệnh bash của chúng tôi. Eq được sử dụng như một toán tử bình đẳng.

#! / bin / bash
Ở ĐÂU=hai mươi
# khai báo điều kiện if
nếu như [[ $ VAR -eq 1 ]]
sau đó
quăng đi 'Giá trị biến bằng 1'
elif [[ $ VAR -eq 2 ]]
sau đó
quăng đi 'Giá trị biến bằng 2'
elif [[ $ VAR -eq 3 ]]
sau đó
quăng đi 'Giá trị biến bằng 2'
elif [[ $ VAR -gt 5 ]]
sau đó
quăng đi 'Giá trị biến lớn hơn 5'
thì là ở


2. Vòng lặp
Vòng lặp là phần thiết yếu và cơ bản của bất kỳ ngôn ngữ lập trình nào. Không giống như các ngôn ngữ lập trình khác, các vòng lặp cũng được sử dụng trong Bash để thực hiện một nhiệm vụ lặp đi lặp lại cho đến khi điều kiện đã cho là đúng. Các vòng lặp là lặp đi lặp lại, chúng là một công cụ tuyệt vời để tự động hóa các loại nhiệm vụ tương tự. Vòng lặp for, vòng lặp while và vòng lặp cho đến khi được sử dụng trong Bash.
Hãy thảo luận từng vòng một.

Vòng lặp while
Vòng lặp while thực hiện lặp lại các câu lệnh hoặc lệnh giống nhau. Nó đánh giá điều kiện và chạy các câu lệnh hoặc lệnh cho đến khi điều kiện là đúng.
Đây là cú pháp cơ bản của việc sử dụng vòng lặp while trong Bash.

Trong khi [biểu thức điều kiện hoặc kiểm tra]
làm
các câu lệnh
xong

Hãy triển khai vòng lặp while trong tệp script.sh của chúng tôi. Chúng ta có một biến VAR có giá trị bằng không. Trong vòng lặp while, chúng tôi đã đặt một điều kiện, rằng vòng lặp phải chạy cho đến khi giá trị của VAR nhỏ hơn 20. Giá trị của biến được tăng thêm 1 sau mỗi lần lặp. Vì vậy, trong trường hợp này, vòng lặp sẽ bắt đầu thực hiện cho đến khi giá trị biến nhỏ hơn 20.

#! / bin / bash
Ở ĐÂU=0
trong khi [ $ VAR -lt hai mươi ]
làm
quăng đi 'Giá trị hiện tại của biến là$ VAR'
#increcting giá trị bằng 1 trong VAR
Ở ĐÂU= $((VAR +1))
xong


Vòng lặp for
Vòng lặp for là vòng lặp được sử dụng phổ biến nhất trong mọi ngôn ngữ lập trình. Nó được sử dụng để thực hiện nhiệm vụ lặp lại. Đó là cách tốt nhất để thực hiện các công việc lặp đi lặp lại. Hãy khai báo vòng lặp for trong tệp script.sh của chúng tôi và sử dụng nó để thực hiện một tác vụ lặp đi lặp lại.

#! / bin / bash
Ở ĐÂU=0
(( tôi==0; tôi<hai mươi; i ++))
làm
quăng đi 'Xin chào và chào mừng đến với linuxhint'
#increrating biến i
tôi= $((tôi +1))
xong
quăng đi 'Đây là phần cuối của vòng lặp for'


Vòng lặp cho đến khi
Loại vòng lặp khác được sử dụng trong Bash là vòng lặp cho đến khi. Nó cũng thực hiện hoặc thực hiện lặp lại cùng một tập hợp. Vòng lặp Until đánh giá điều kiện và bắt đầu thực hiện cho đến khi điều kiện đã cho là sai. Vòng lặp cho đến khi kết thúc khi điều kiện đã cho là đúng. Cú pháp của vòng lặp Until như sau:

cho đến khi [điều kiện]
làm
các câu lệnh
lệnh
xong

Hãy triển khai vòng lặp Until trong tệp script.sh của chúng tôi. Vòng lặp Until sẽ chạy trừ khi điều kiện sai (Giá trị của biến nhỏ hơn 20)

#! / bin / bash
Ở ĐÂU=0
cho đến khi [ $ VAR -gt hai mươi ]
làm
quăng đi 'Xin chào và chào mừng đến với linuxhint'
#increrating biến i
Ở ĐÂU= $((VAR +1))
xong
quăng đi 'Đây là phần cuối của vòng lặp cho đến'


3. Đọc từ người dùng và viết nó trên màn hình
Bash cho phép người dùng tự do nhập một số giá trị chuỗi hoặc dữ liệu trên thiết bị đầu cuối. Chuỗi hoặc dữ liệu do người dùng nhập có thể được đọc từ thiết bị đầu cuối, nó có thể được lưu trữ trong tệp và có thể được in trên thiết bị đầu cuối. Trong tệp Bash, đầu vào từ người dùng có thể được đọc bằng cách sử dụng đọc từ khóa và chúng tôi lưu trữ nó trong một biến. Nội dung biến có thể được hiển thị trên thiết bị đầu cuối bằng cách sử dụng lệnh echo.

#! / bin / bash
quăng đi 'Viết gì đó trên thiết bị đầu cuối'
# lưu trữ giá trị đã nhập trong VAR
đọcỞ ĐÂU
quăng đi 'Bạn đã tham gia:$ VAR'


Nhiều tùy chọn có thể được sử dụng với lệnh đọc. Các tùy chọn được sử dụng phổ biến nhất là -p và -s. -P hiển thị lời nhắc và đầu vào có thể được lấy trên cùng một dòng. –S nhận đầu vào ở chế độ im lặng. Các ký tự của đầu vào được hiển thị trên thiết bị đầu cuối. Sẽ rất hữu ích khi nhập một số thông tin nhạy cảm, tức là mật khẩu.

#! / bin / bash
đọc -P 'Nhập email:'e-mail
quăng đi 'Nhập mật khẩu'
đọc -NSmật khẩu mở khóa


4. Đọc và ghi tệp văn bản
Tệp văn bản là thành phần thiết yếu để đọc và ghi dữ liệu. Dữ liệu được lưu trữ tạm thời trong các tệp văn bản và nó có thể được đọc từ tệp văn bản một cách dễ dàng. Trước tiên, hãy thảo luận về việc ghi dữ liệu vào tệp văn bản và sau đó, chúng ta sẽ thảo luận về việc đọc dữ liệu từ tệp văn bản.

Viết các tệp văn bản
Dữ liệu có thể được ghi vào tệp theo nhiều cách khác nhau:

  • Bằng cách sử dụng Dấu ngoặc nhọn góc phải hoặc dấu lớn hơn (>)
  • Bằng cách sử dụng Dấu ngoặc vuông góc phải kép (>>)
  • Bằng cách sử dụng lệnh tee

Dấu ngoặc nhọn phải (>) để ghi dữ liệu
nó là cách được sử dụng phổ biến nhất để ghi dữ liệu vào tệp văn bản. Chúng tôi ghi dữ liệu và sau đó đặt dấu>. Dấu> trỏ đến tệp văn bản nơi chúng ta phải lưu trữ dữ liệu. Tuy nhiên, nó không nối tệp và dữ liệu trước đó của tệp được thay thế hoàn toàn bằng dữ liệu mới.

#! / bin / bash
# người dùng nhập tên tệp văn bản
đọc -P 'Nhập tên tệp:'TẬP TIN
#user nhập dữ liệu để lưu trữ trong tệp văn bản
đọc -P 'Ghi dữ liệu để nhập vào tệp:'DỮ LIỆU
# lưu trữ dữ liệu trong tệp văn bản
#> trỏ đến tên tệp.
quăng đi $ DATA > $ FILE


Dấu ngoặc nhọn phải (>>) để ghi dữ liệu
Dấu >> được sử dụng để lưu trữ kết quả đầu ra của bất kỳ lệnh nào trong tệp. Ví dụ, lệnh ls -al hiển thị nội dung và quyền của một tệp trong một thư mục cụ thể. Dấu >> sẽ lưu kết quả đầu ra vào tệp.

#! / bin / bash
# người dùng nhập tên tệp văn bản
đọc -P 'Nhập tên tệp:'TẬP TIN
# lưu trữ đầu ra lệnh trong tệp
ls -đến >> $ FILE



Sử dụng lệnh tee để ghi dữ liệu vào tệp văn bản
Lệnh tee trong Bash được sử dụng để ghi đầu ra của lệnh vào một tệp văn bản. Nó in kết quả đầu ra của lệnh trên thiết bị đầu cuối và cũng như lưu trữ nó vào tệp văn bản.

#! / bin / bash
# người dùng nhập tên tệp văn bản
đọc -P 'Nhập tên tệp:'TẬP TIN
# lưu trữ đầu ra lệnh trong tệp bằng lệnh tee
ls -đến | tee $ FILE


Lệnh tee ghi đè dữ liệu hiện có của tệp theo mặc định. Tuy nhiên, tùy chọn -a với lệnh tee có thể được sử dụng để nối tệp.

#! / bin / bash
# người dùng nhập tên tệp văn bản
đọc -P 'Nhập tên tệp:'TẬP TIN
# lưu trữ đầu ra lệnh trong tệp bằng lệnh tee
ls -đến | tee -đến $ FILE


Đọc các tệp văn bản
Các con mèo lệnh được sử dụng để đọc dữ liệu từ tệp. Nó được sử dụng phổ biến nhất cho mục đích này. Nó chỉ đơn giản là in ra nội dung của tệp văn bản trên thiết bị đầu cuối. Hãy in nội dung hoặc dữ liệu của tệp trên thiết bị đầu cuối bằng cách sử dụng con mèo chỉ huy.

#! / bin / bash
# người dùng nhập tên tệp văn bản
đọc -P 'Nhập tên tệp:'TẬP TIN
# đọc dữ liệu từ tệp văn bản
con mèo $ FILE


5. Chạy các chương trình khác từ bash
Bash cung cấp quyền chạy các chương trình khác từ tập lệnh Bash. Chúng tôi sử dụng lệnh execute để chạy các chương trình khác từ Bash. Lệnh thực thi thay thế quy trình trước đó bằng quy trình hiện tại và khởi chạy chương trình hiện tại. Ví dụ: chúng ta có thể mở trình soạn thảo nano, gedit hoặc vim từ tập lệnh bash.

#! / bin / bash
#running nano editor từ Bash
người điều hành nano

#! / bin / bash
#running gedit từ Bash
người điều hànhgedit

Tương tự, chúng ta cũng có thể chạy ứng dụng trình duyệt từ Bash. Hãy chạy trình duyệt Mozilla Firefox.

#! / bin / bash
#running firefox
người điều hànhfirefox


Hơn nữa, chúng ta có thể chạy bất kỳ chương trình nào từ Bash bằng cách sử dụng lệnh execute.

6. Xử lý dòng lệnh
Xử lý dòng lệnh đề cập đến việc xử lý dữ liệu được nhập trên thiết bị đầu cuối. Dữ liệu dòng lệnh được xử lý cho nhiều mục đích, tức là đọc đầu vào của người dùng, hiểu rõ các lệnh và đọc các đối số. Trước đây, chúng ta đã thảo luận về lệnh read. Lệnh read cũng được sử dụng để xử lý dòng lệnh. Trong phần này, chúng ta sẽ thảo luận về việc xử lý các đối số dòng lệnh. Trong Bash, chúng ta có thể xử lý các đối số được truyền hoặc viết trên thiết bị đầu cuối. Các đối số được xử lý giống như cách chúng được truyền. Do đó, nó được gọi là tham số vị trí. Ngược lại với các ngôn ngữ lập trình khác, việc lập chỉ mục của các đối số trong Bash bắt đầu bằng 1. Dấu Dollar ($) được sử dụng để đọc các đối số. Ví dụ: $ 1 đọc đối số đầu tiên, $ 2 đọc đối số thứ hai, v.v. Các đối số có thể được phân tích cú pháp vì nhiều lý do khác nhau như lấy đầu vào từ người dùng.

#! / bin / bash
quăng đi 'Điền tên của bạn'
#processing đối số đầu tiên
quăng đi 'Tên đầu tiên:' $ 1
#processing đối số thứ hai
quăng đi 'Tên đệm:'$ 2
#processing đối số thứ ba
quăng đi 'Họ:' $ 3
quăng đi 'Họ và tên:' $ 1 $ 2 $ 3


Đọc dữ liệu từ thiết bị đầu cuối bằng cách sử dụng read và phân tích cú pháp các đối số là những ví dụ phù hợp nhất về xử lý dòng lệnh.

Lịch sử của Bash và so sánh với các loại vỏ khác

Bash hiện là thành phần thiết yếu của các hệ thống dựa trên UNIX và Linux. Bourne Shell ban đầu được phát triển bởi Stephen Bourne. Mục đích dự kiến ​​của vỏ Stephen Bourne là để khắc phục những hạn chế của các loại đạn pháo đã tồn tại vào thời điểm đó. Trước Bourne Shell, UNIX đã giới thiệu Thompson Shell. Tuy nhiên, trình bao Thompson rất hạn chế trong việc xử lý tập lệnh. Người dùng không thể chạy đủ số lượng tập lệnh. Để khắc phục tất cả những hạn chế này của vỏ Thompson, Bourne Shell đã được giới thiệu. Nó được phát triển tại Phòng thí nghiệm Bells. Năm 1989, Brian Fox đã cách mạng hóa vỏ Bourne bằng cách bổ sung nhiều tính năng khác và đặt tên cho nó là Bourne Again Shell (BASH).

Tên của vỏ Năm Nền tảng Sự miêu tả So sánh với BASH
Thompson Shell 1971 UNIX Việc tự động hóa tập lệnh bị hạn chế. Người dùng chỉ có thể thực hiện một lượng nhỏ tập lệnh. BASH khắc phục những hạn chế của trình bao Thompson và người dùng có thể viết các tập lệnh lớn.
Bourne Shell 1977 UNIX Nó cho phép chúng tôi viết và chạy một lượng lớn các tập lệnh. Bourne Shell không cung cấp trình soạn thảo lệnh và một số lượng lớn các phương tiện phím tắt. BASH cung cấp các cải tiến trong thiết kế cùng với trình soạn thảo lệnh.
Vỏ POSIX 1992 POSIX POSIX Shell có tính di động. Nó cung cấp nhiều phím tắt và kiểm soát công việc. BASH phổ biến để thực hiện những tác vụ không yêu cầu tính di động.
Z Shell 1990 UNIX Z Shell rất giàu tính năng. Nó là một trình bao rất mạnh và cung cấp các tính năng như tự động hoàn thành lệnh, sửa lỗi chính tả và tự động điền. BASH thiếu một số tính năng được cung cấp bởi Z Shell.

Phần kết luận

BASH là một công cụ rất mạnh cho phép chúng ta chạy các lệnh và script. Một tập lệnh BASH cho phép chúng tôi tự động hóa các tác vụ và lệnh hàng ngày. Một tập lệnh BASH là sự kết hợp của nhiều lệnh. Tệp BASH kết thúc bằng phần mở rộng .sh. Trước khi chạy tập lệnh BASH, chúng ta cần cập nhật quyền đối với tệp và chúng ta cần cung cấp quyền thực thi cho tệp .sh. Bài viết này giải thích tập lệnh BASH và BASH với sự trợ giúp của các ví dụ đơn giản và các bài học quan trọng. Hơn nữa, nó mô tả lịch sử của BASH và so sánh các tính năng của nó với nhiều loại shell mạnh mẽ khác.