6 EKİM 2009, Salı
Bash: bir dizinin elemanları Katılır mısın?
Bash böyle bir dizi var:
FOO=( a b c )
Nasıl virgül ile bu unsurları katılabilirim? Örneğin, üretim 4**.
CEVAP
23 ŞUBAT 2010, Salı
Başka bir çözüm:
#!/bin/bash
foo=('foo bar' 'foo baz' 'bar baz')
bar=$(printf ",%s" "${foo[@]}")
bar=${bar:1}
echo $bar
Edit: ama çok karakter uzunluğu değişken ayırıcısı: aynı
#!/bin/bash
separator=")|(" # e.g. constructing regex, pray it does not contain %s
foo=('foo bar' 'foo baz' 'bar baz')
regex="$( printf "${separator}%s" "${foo[@]}" )"
regex="${regex:${#separator}}" # remove leading separator
echo "${regex}"
# Prints: foo bar)|(foo baz)|(bar baz
Bunu Paylaş:
BASH elemanları içinde boşluk dizisi...
bash Geçerli dizinin üst dizininin ols...
Ne'In elemanları?sıfır ile dizini...
bash kabuk betiği girdi değişkeni kont...
Nasıl'zaten hatta ne bash geçmişi...