Tôi có tập lệnh có nhiều tệp đầu vào, thường là các tệp mặc định được lưu trữ ở vị trí chuẩn và được gọi bởi tập lệnh.đối số dòng lệnh bash thay thế giá trị mặc định cho các biến
Tuy nhiên đôi khi cần phải chạy nó với các yếu tố đầu vào đã thay đổi.
Trong tập lệnh, tôi hiện có 3 biến $ A $ B và $ C, bây giờ tôi muốn chạy nó với $ B không mặc định, ngày mai tôi có thể chạy nó với $ A và $ B không mặc định .
Tôi đã có một cái nhìn xung quanh như thế nào để phân tích đối số dòng lệnh: How do I parse command line arguments in Bash?
Nhưng tôi không chắc chắn làm thế nào để đối phó với việc có một số thiết lập bởi dòng lệnh aruguments một số thời gian?
Tôi không có đủ đại diện để trả lời câu hỏi của riêng tôi tuy nhiên tôi có một giải pháp:
https://stackoverflow.com/a/4610469/2339623
#!/bin/bash
a=input1
b=input2
c=input3
while getopts "a:b:c:" flag
do
case $flag in
a) a=$OPTARG;;
b) b=$OPTARG;;
c) c=$OPTARG;;
esac
done
Xin lỗi tôi rõ ràng đã không tìm kiếm như triệt để như tôi nghĩ ...
Bạn có thể sử dụng 'getopts' cho mục đích này. Có rất nhiều hướng dẫn, một cái gì đó như http://aplawrence.com/Unix/getopts.html có thể hữu ích cho một sự khởi đầu. – fedorqui
Cảm ơn, tôi đã thấy điều này trên các câu hỏi tôi đã liên kết. Tôi đã tự hỏi nếu có một số cách tiêu chuẩn để có đối số lệnh ghi đè lên các biến. Ví dụ khi xác định các hàm trong python, bạn có thể đặt giá trị mặc định. Tôi có thể thấy rằng với một kiểm tra nếu tôi có thể thay thế mặc định bằng đối số dòng lệnh, nhưng không chắc chắn nếu có một cách tiêu chuẩn để làm điều này? – Lanrest