Linux üzerinde bash kabuğu kullanıyorum ve kabuk betiğinde 10'dan fazla parametre kullanmak istiyorum
Linux üzerinde bash kabuğu kullanıyorum ve kabuk betiğinde 10'dan fazla parametre kullanmak istiyorum
Yanıtlar:
Bunları ayarlamak için küme parantezi kullanın:
echo "${10}"
Ayrıca, aşağıdaki gibi konumsal parametreler üzerinde yineleme yapabilirsiniz:
for arg
veya
for arg in "$@"
veya
while (( $# > 0 )) # or [ $# -gt 0 ]
do
echo "$1"
shift
done
${10}
, POSIX tarafından
${10}
Çalışma konusunda endişelenmek , yalnızca standartlara uygun olmayan çok eski uygulamaları kullanırken gereklidir. Muhtemelen sadece tarihsel açıdan ilgi çekicidir ... ve henüz onu kullanmadım! Sanırım, en iyi uygulama 10 argümanın tekrar edilmedikçe çok fazla olduğunu dikte ediyor, bu durumda onları "$@"
numaralandırmak yerine onlarla yineleyeceksiniz .
Aşağıdakilerle 0 ile 255 arasında en fazla 256 parametreye sahip olabilirsiniz:
${255}
sh -c 'echo ${333}' /usr/bin/*
set $(seq 2097152); echo ${2097152}
-a 1
veya--foo=bar
) kullanmak daha iyi olabilir . Bakınman getopt
,man getopts
veman bash
bunu yapmak için bazı seçenekler için.