Tôi đang sử dụng bash shell trên linux và muốn sử dụng hơn 10 tham số trong shell script
Tôi đang sử dụng bash shell trên linux và muốn sử dụng hơn 10 tham số trong shell script
Câu trả lời:
Sử dụng dấu ngoặc nhọn để tắt chúng:
echo "${10}"
Bạn cũng có thể lặp lại các tham số vị trí như sau:
for arg
hoặc là
for arg in "$@"
hoặc là
while (( $# > 0 )) # or [ $# -gt 0 ]
do
echo "$1"
shift
done
${10}
được xác định bởi POSIX
${10}
việc làm việc chỉ cần thiết khi sử dụng các triển khai rất cũ không tuân thủ tiêu chuẩn. Có lẽ chỉ quan tâm đến lịch sử ... và tôi vẫn chưa bao giờ sử dụng nó! Tôi cho rằng vì phương pháp hay nhất quy định rằng 10 đối số là quá nhiều trừ khi chúng được lặp lại, trong trường hợp đó bạn sẽ lặp lại chúng "$@"
thay vì liệt kê chúng.
Bạn có thể có tối đa 256 tham số từ 0 đến 255 với:
${255}
sh -c 'echo ${333}' /usr/bin/*
set $(seq 2097152); echo ${2097152}
-a 1
hoặc--foo=bar
) thay thế. Xemman getopt
,man getopts
vàman bash
đối với một số tùy chọn để thực hiện điều đó.