Computer >> Máy Tính >  >> Lập trình >> Lập trình BASH

Các biến trong tập lệnh Bash / Shell và cách sử dụng chúng [Hướng dẫn]

Bài viết này sẽ hướng dẫn bạn cách sử dụng các biến trong tập lệnh Bash và Shell trong Linux.

Bash Tập lệnh (hoặc Linux Shell) là các tệp bạn viết có chứa các lệnh để tự động hóa các tác vụ thông thường và tiết kiệm thời gian cho chính bạn.

Biến số là những thứ trong tập lệnh có giá trị để sử dụng sau này - thực sự là một số hoặc tên tệp hoặc bất cứ thứ gì.

Dưới đây là cách xác định và sử dụng các biến trong tập lệnh Linux Shell. Những ví dụ này sẽ hoạt động trong Linux Shells, Bash và Zsh phổ biến nhất.

Khai báo các biến Bash

BIẾN SỐ Bash ĐƯỢC KHÔNG ĐƯỢC SỬA theo mặc định. Bạn không thể nói với đó là những gì có thể được thực hiện với một biến - nó được ngụ ý.

Về cơ bản, tất cả các biến được lưu trữ dưới dạng chuỗi và được xử lý theo ngữ cảnh khi chúng được sử dụng - nếu một chuỗi chứa một số, nó sẽ được coi là một nếu bạn cố gắng tăng dần với nó, v.v.

Dưới đây, một số biến được khai báo - MY_STRING , MY_FILE_PATH, MY_NUMBER . Đây là tất cả các biến không định kiểu.

#!/bin/bash          

MY_STRING="Hello Linux!"
MY_FILE_PATH=/path/to/my/file.txt
MY_NUMBER=4

Nhấp vào đây để tìm hiểu về #!

Cú pháp lệnh

‘khai báo’

Lưu ý rằng khai báo dành riêng cho Bash môi trường và có thể không có nếu bạn đang sử dụng một trình bao khác.

Cú pháp của khai báo như sau:

declare OPTIONS variable_name=variable_value

Lưu ý rằng:

  • TÙY CHỌN là tùy chọn và có thể được chọn từ bảng bên dưới để đặt loại hoặc hành vi của biến
  • tên_biến là tên của biến bạn muốn định nghĩa / khai báo
  • variable_value là giá trị của biến đã nói
tuyên bố tùy chọn Ý nghĩa
-r chỉ đọc Khai báo biến chỉ đọc
-i số nguyên Khai báo một biến số nguyên
-a mảng Khai báo một biến là một mảng
-f (các) chức năng Khai báo một biến là một hàm
-x xuất Khai báo một biến có thể được xuất ra bên ngoài tập lệnh

Ví dụ về lệnh ‘khai báo’

Ở đây, một biến chuỗi được khai báo (tức là không có TÙY CHỌN được cung cấp), theo sau là một biến số nguyên.

#!/bin/bash   

declare MY_STRING="Hello Linux!"
declare -i MY_NUMBER=4

Bây giờ, nếu bạn cố gắng gán giá trị của biến MY_STRING cho giá trị MY_NUMBER, thì SỐ CỦA TÔI sẽ được đặt thành 0 - vì chuỗi không đánh giá thành số.

tuyên bố chỉ cung cấp chức năng nhập cơ bản, vì vậy nó không thực sự là thứ đáng tin cậy- nhưng nó có thể hữu ích để đảm bảo rằng một biến chỉ có thể chứa một loại giá trị nhất định.

Sử dụng các biến Bash

Để sử dụng một biến, hãy đặt tiền tố cho biến đó bằng $ (ký hiệu đô la). Ví dụ:

#!/bin/bash          

MY_STRING="Hello Linux!"
MY_FILE_PATH=/path/to/my/file.txt
MY_NUMBER=4

echo $MY_STRING # Prints the string variable
touch $MY_FILE_PATH # Create or update the file at the given path
MY_NUMBER=$(($MY_NUMBER+1)) # Increment MY_NUMBER by evaluating a mathmatical formula

Lưu ý việc sử dụng chạm lệnh để tạo hoặc cập nhật tệp trong tập lệnh ở trên.

Lưu ý việc sử dụng dấu ngoặc kép (()) - điều này yêu cầu Bash đánh giá câu lệnh chứa bên trong chúng - nếu không, MY_NUMBER sẽ được cấp một giá trị chuỗi chứa các ký tự “$ MY NUMBER + 1”.

Sử dụng biến trong chuỗi

Đôi khi bạn có thể cần sử dụng giá trị của một biến trong một chuỗi - ví dụ:nếu bạn đã thu thập đường dẫn tệp từ thông tin nhập của người dùng.

Để bao gồm một biến trong một chuỗi, chỉ cần sử dụng nó trong dấu ngoặc kép của một chuỗi khác:

echo "This is my string: $MY_STRING"

Biến cục bộ

Địa phương các biến chỉ có sẵn trong phạm vi mà chúng được tạo, tức là bên trong hàm hoặc vòng lặp cụ thể nơi chúng được xác định.

#!/bin/bash

function myFunction {
        local MY_STRING="This string is only available here, in this function"
        echo $MY_STRING
}

echo $MY_STRING # Will print nothing, as the variable was defined locally within a function