Alsa больше не определяет звуковые карты

Если вы пишете для bash, вы можете использовать массив для хранения набора пользователей и другой массив для создания соответствующего синтаксиса для findдля соответствия этим пользователям:

#!/bin/bash

# The beginning of the userids we need to match
match=br

# Find the matching set of users
users=($(
    getent passwd |
    awk -F: -vm="$match" 'BEGIN { re = "^" m } $1 ~ re {print $1}'
))

# Build the list of users ("find ( -user XX -o -user YY -o user ZZ )...")
finds=()
for user in "${users[@]}"
do
    finds+=('-o' '-user' "$user")
done
[[ ${#finds[@]} -gt 0 ]] && finds=('(' "${finds[@]:1}" ')')

# Execute the find command with the set of users
find. "${finds[@]}" -ls

Как всегда, вы можете добавить к команде findпрефикс, например, echo, чтобы увидеть, что будет выполнено. (Или вы можете запустить с bash -x, чтобы включить отчет об отладке строки -по -.)

1
20.05.2020, 16:47
0 ответов

Теги

Похожие вопросы