Linux Bash Complex Variable

I would like to store a list of files as a variable using the if statement. What I have below works but its sloppy, is there a better way to do this.

#!/bin/sh
variable=
for file in /directory_path/*.txt; do
if [ -w $file ]; then file2=$file
echo $file2
fi
done
echo $variable
LVL 1
illtbaguAsked:
Who is Participating?
 
TintinCommented:
Not much different, but you could do
#!/bin/bash
for file in /directory_path/*.txt
do
  [ -w $file ] && variable="$variable $file"
done
 
echo "$variable"

Open in new window

0
 
TintinCommented:
Actually, it's probably best to use find, eg:
#!/bin/bash
variable=$(find "/directory_path/*.txt" -maxdepth 1 -type f -perm +222)

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.