Bash Làm thế nào để thực thi một lệnh trong một biến?

Bash How Execute Command Variable



Các tập lệnh Bash có thể được tạo theo nhiều cách khác nhau và hầu hết chúng ta đều quen thuộc với việc thực thi các lệnh đơn giản trong tập lệnh Bash. Tuy nhiên, các lệnh này cũng có thể được đóng gói trong các biến trong Bash. Quá trình này được gọi là thay thế lệnh và nó thường được sử dụng để lưu trữ đầu ra của một lệnh trong một biến để bạn không phải chạy lệnh đó một cách rõ ràng nhiều lần mà bạn có thể chỉ cần truy cập vào biến đó để lấy đầu ra của lệnh đó. bất cứ khi nào bạn muốn. Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách thực hiện điều này.

Lưu ý: Tất cả các kịch bản được trình bày dưới đây đã được thực hiện trên Ubuntu 20.04. Tuy nhiên, chúng cũng sẽ hoạt động theo cùng một cách với bất kỳ phiên bản Linux nào khác.







Phương pháp thực thi một lệnh trong một biến trong Bash:

Để trình bày phương pháp thực thi một lệnh trong một biến trong Bash, chúng tôi sẽ trình bày cho bạn ba trường hợp khác nhau như sau:



Thực thi lệnh echo được lưu trữ trong một biến:

Đây là tình huống đơn giản nhất trong đó mục tiêu của chúng ta là thực hiện lệnh echo được lưu trữ trong một biến. Để điều đó xảy ra, bạn sẽ phải làm theo một loạt các bước được đề cập bên dưới:



Bước # 1: Tạo Bash Script:

Bạn phải tạo Bash Script trong thư mục Home mà bạn cần nhấp vào biểu tượng Trình quản lý tệp như bạn có thể thấy từ hình ảnh sau:





Bây giờ, hãy tìm bất kỳ không gian nào trong thư mục Home của bạn và nhấp chuột phải vào nó để khởi chạy menu. Chọn tùy chọn Tài liệu mới từ trình đơn này, sau đó chọn tùy chọn Tài liệu trống từ trình đơn xếp tầng phụ. Làm điều này sẽ tạo một tài liệu mới trong thư mục Trang chủ của bạn. Bây giờ đổi tên tài liệu mới tạo này bằng bất kỳ tên nào bạn chọn, sau đó là phần mở rộng .sh. Trong trường hợp của chúng tôi, chúng tôi đã đặt tên nó là CommandVar.sh.



Để viết một tập lệnh Bash trong tệp này, hãy nhấp đúp vào nó để mở nó và sau đó nhập tập lệnh được hiển thị trong hình bên dưới vào tệp Bash của bạn. Ở đây, dòng đầu tiên của tập lệnh, tức là #! / Bin / bash cho thấy rằng tệp này trên thực tế là một tệp Bash. Sau đó, chúng tôi đã tạo một biến thử nghiệm có tên và đã gán giá trị $ (echo Xin chào!). Bất cứ khi nào bạn muốn lưu trữ lệnh trong một biến, bạn phải nhập lệnh đó trước ký hiệu $. Trong trường hợp này, chúng tôi muốn lưu trữ lệnh echo trong biến kiểm tra vì vậy chúng tôi chỉ cần nhập lệnh echo theo sau là một thông báo ngẫu nhiên và đặt nó trong dấu ngoặc tròn và đặt biểu tượng $ trước nó. Vì vậy, bây giờ, nếu chúng ta muốn thực hiện lệnh echo này, chúng ta sẽ phải truy cập vào biến kiểm tra. Do đó, để xác minh xem lệnh echo được lưu trữ trong biến kiểm tra có thể được thực thi thành công hay không, chúng tôi đã in kết quả đầu ra của biến kiểm tra trên thiết bị đầu cuối bằng cách sử dụng một lệnh echo khác. Sau khi nhập tập lệnh này, bạn cần lưu tệp của mình và đóng nó.

Bước # 2: Thực thi Bash Script qua Terminal:

Bây giờ bạn phải thực thi tập lệnh này thông qua thiết bị đầu cuối. Vì vậy, hãy mở terminal trong Ubuntu 20.04 và sau đó nhập lệnh sau vào đó:

bấu víuCommandVar.sh

Khi bạn nhấn phím Enter để thực hiện lệnh này, bạn sẽ có thể thấy kết quả sau trên thiết bị đầu cuối của mình. Ở đây, phần được đánh dấu của đầu ra là đầu ra của lệnh echo đã được lưu trữ trong biến thử nghiệm.

Thực thi lệnh seq được lưu trữ trong một biến:

Trong trường hợp này, chúng ta sẽ in một dãy số bằng cách sử dụng lệnh seq được lưu trữ trong một biến. Để điều này xảy ra, chúng tôi sẽ sửa đổi tập lệnh Bash được tạo ở trên bằng cách thực hiện các bước sau:

Bước # 1: Sửa đổi Bash Script đã tạo ở trên:

Mở tệp Bash mà bạn đã tạo trong phương pháp trên và nhập tập lệnh sau vào đó. Ở đây, chúng tôi đã tạo một biến có tên là chuỗi. Mục tiêu của chúng tôi là in các số từ 1 đến 10 trong khi sử dụng lệnh seq. Để làm điều đó, chúng tôi đã gán giá trị $ (seq 1 10) cho biến trình tự. Bạn cũng có thể chỉ định bất kỳ dải số nào khác mà bạn chọn nếu bạn muốn. Số đầu tiên sau lệnh seq cho biết giới hạn dưới của chuỗi trong khi số thứ hai chỉ giới hạn trên. Sau khi nhập tập lệnh này, hãy lưu tệp của bạn và đóng nó.

Bước # 2: Thực thi tập lệnh Bash đã sửa đổi thông qua thiết bị đầu cuối:

Bây giờ thực thi tập lệnh Bash của bạn theo cách tương tự như đã giải thích ở trên và bạn sẽ có thể thấy trình tự được chỉ định trên thiết bị đầu cuối của mình như được hiển thị trong hình ảnh bên dưới:

Thực thi lệnh ‘pwd’ được lưu trữ trong một biến:

Bạn cũng có thể in thư mục làm việc của mình bằng cách sử dụng lệnh pwd được lưu trữ trong một biến. Để chứng minh điều này, chúng tôi sẽ sửa đổi lại tập lệnh Bash đã tạo ở trên bằng cách làm theo các bước được đề cập bên dưới:

Bước # 1: Sửa đổi Bash Script đã tạo ở trên:

Mở tệp Bash mà bạn vừa sửa đổi và sau đó nhập tập lệnh được hiển thị trong hình sau vào đó. Trong tập lệnh này, chúng tôi đã tạo một biến có tên là working_directory và đã gán cho nó giá trị $ (pwd). Lệnh pwd sẽ chỉ lưu trữ đầu ra của nó, tức là thư mục làm việc hiện tại trong biến working_directory. Để đảm bảo rằng lệnh pwd đã được thực thi chính xác hay chưa, chúng tôi đã in giá trị của biến working_directory trên terminal bằng cách sử dụng lệnh echo. Bây giờ hãy lưu tệp này và sau đó đóng nó sau khi nhập tập lệnh Bash đã sửa đổi vào đó.

Bước # 2: Thực thi tập lệnh Bash đã sửa đổi thông qua thiết bị đầu cuối:

Bây giờ thực thi tập lệnh Bash này theo cách tương tự như đã giải thích ở trên. Đầu ra của tập lệnh Bash này sẽ hiển thị cho bạn thư mục làm việc hiện tại. Trên thực tế, phần được đánh dấu của đầu ra là đầu ra của lệnh pwd.

Phần kết luận:

Bài viết này đưa ra một ý tưởng rất hay về cách bạn có thể thực thi một lệnh được lưu trữ trong một biến trong Bash và có thể nhận được kết quả tương tự như bạn sẽ nhận được nếu bạn chạy lệnh một cách độc lập.