Bài viết này sẽ giải thích biến $@ là gì trong Bash và lập trình script Bash/Shell, cũng như cách và lý do bạn có thể sử dụng nó.
Biến $@ là một biến đặc biệt trong Bash chứa giá trị của tất cả các tham số/đối số dòng lệnh được truyền cho script.
Tham Số/Dối Số Dòng Lệnh Trong Bash
Việc sử dụng tham số/dối số dòng lệnh trong script shell là một tính năng quan trọng và hữu ích, vì vậy chúng tôi có một bài viết chuyên biệt về nó:
Bài viết này tiếp nối bài viết về Tham Số Dòng Lệnh Trong Script Shell/Bash
$@ Chứa Tất Cả Các Tham Số/Dối Số Được Truyền Cho Script
Cách dễ dàng nhất để minh họa cách $@ hoạt động, đương nhiên là với một số mã ví dụ.
Script ví dụ sau chỉ in ra nội dung của biến $@:
#!/bin/bash echo $@
Gọi script này với một số đối số ví dụ:
sh test.sh "apple" 0 banana 1
Sẽ cho kết quả đầu ra sau:
apple 0 banana 1
Điều này cho thấy biến $@ đơn giản chỉ giữ giá trị của tất cả các tham số được truyền cho script.
Lưu ý rằng dấu nháy đã bị loại bỏ, vì đó là giá trị của các tham số được chứa trong $@ chứ không phải văn bản được truyền.
Tất cả các tham số vị trí đều được bao gồm từ vị trí 1 (Vị trí 0 chứa tên của script đang được thực thi và bị bỏ qua).
$@ là một biến đặc biệt với các trường hợp sử dụng hạn chế – khuyến nghị bạn nên坚持使用 các tham số vị trí và sử dụng chúng theo cách chúng được thiết kế (truyền một giá trị cho một tham số) thay vì cố gắng dùng $@ để đọc một đống dữ liệu vào script và tự phân tích nó.