Dize değişkenini bash kabuğundaki for döngüsünde bitiştirme [kapalı]


Yanıtlar:


18
#!/bin/bash

names= find /home/devuser -name 'BI*'
echo $names

for name in {names[@]}
do    
 echo $name
 var=$var$name //$ should be removed which is prefixed before var. Blank space before and after equal sign should be removed to run this code.   
done

echo $var

1
Bir atamanın sol tarafındaki değişken adının önünde sigil'i kullandığınızdan emin misiniz? Her neyse, bu yorumdan başlayarak yayınınızın tamamını inceleyin.
manatwork

Daha iyi. :) Şimdi yorum. Sonra yürütme ve yakalama findçıktı. Sonra for's inyan tümcesinde dizi değişkeni .
manatwork

1
Son nokta muhtemelen hayır döngü kullanmak olduğunu daha iyi olacaktır: var="$(IFS=; echo "${names[*]}")". Bu nedenle, soru sahibine öğretmek istemiyorsanız, çoklu sözdizimi hatalarını düzeltmenin pek bir yararı yoktur.
manatwork

1
Bir unuttun $, for döngüsü satırı okumalıdırfor name in ${names[@]}
bcattle 5

6

Değişiklik

$var = $var$name   

için

var=$var$name   
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.