Biến chuỗi nối trong một vòng lặp for trong bash shell [đã đóng]


15
#!/bin/bash

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

for name in {names[@]}
do    
 echo $name
 $var = $var$name   
done

echo $var

1
Và câu hỏi của bạn là gì?
rzymek 17/12/13

Câu trả lời:


17
#!/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
Bạn có chắc chắn là chính xác để sử dụng sigil trước tên biến ở bên trái của một bài tập? Dù sao, tốt hơn xem xét toàn bộ bài viết của bạn, bắt đầu với nhận xét đó.
manatwork 17/12/13

Tốt hơn. :) Bây giờ nhận xét. Sau đó thực hiện và nắm bắt findđầu ra. Sau đó, biến mảng trong mệnh đề for's in.
manatwork 17/12/13

1
Điểm cuối cùng có lẽ sẽ tốt hơn nếu không sử dụng vòng lặp : var="$(IFS=; echo "${names[*]}")". Vì vậy, trừ khi bạn muốn dạy cho chủ sở hữu câu hỏi, không có nhiều lợi ích trong việc sửa nhiều lỗi cú pháp của anh ta.
manatwork 17/12/13

1
Bạn đã quên a $, dòng vòng lặp for nên đọcfor name in ${names[@]}
bcattle

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.