Tôi tìm cách cung cấp lệnh bash với nhiều đối số chỉ bằng một số đường cú pháp. Tôi đã biết $@ và $*, nhưng tôi không biết cách sử dụng chúng đúng cách. Sẽ thật tuyệt với cú pháp sau:
xác định đối số
lệnh &args
Một cú pháp nữa có thể như sau:
- Nối các đối số đơn và luồng trong một hàng
xác định args_stream
lệnh &args_stream arg_1
- Ghép nối đơn và luồng xen kẽ
xác định args_stream1
xác định args_stream2
lệnh &args_stream arg_1 &args_stream2
Có vẻ như đây là một cách làm không tốt, nhưng tôi muốn giảm bớt một số hàng trong tập lệnh trình bao của mình... :(
Cập nhật
Ví dụ: Vì câu hỏi quá rộng nên người đọc không thể hiểu được ý nghĩa thực sự của nó, tôi đưa ra các ví dụ:
- Của tôi
tiêu đề in
chức năng có 7 đối số, nhưng hầu hết chúng có thể được tham số hóa. Một tùy chọn là đặt biến của tôi thành một số tham số mặc định. Tuy nhiên, tôi sẽ phải sắp xếp các đối số theo một hình thức khác thường, đối với các đối số chính là phần tử đúng nhất. Hình thức khác là viết các đối số như tôi đã đề cập: Tôi muốn sửa các đối số, luồng hoặc mảng này, như tôi đã đề cập như sau:
lệnh $1 [$2,1 $2,2 $2,3] $3
- Bằng cách chạy lệnh
git --help
, tôi nhận được nhật ký bên dưới:
cách sử dụng: git [--version] [--help] [-C <đường dẫn>] [-c <tên>=<giá trị>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p| --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<đường dẫn>] [--work-tree=<đường dẫn>] [--namespace=<tên>]
<lệnh> [<args>]
Các đối số giữa các dấu ngoặc là tùy chọn, nhưng có thể được cung cấp bằng dấu gạch nối kép --
ký hiệu. Nó là một tùy chọn cho ký hiệu luồng đối số của tôi.