Как искать актив файлы в PATH-подобном списке местоположений?

Как вы указали в начале своего вопроса (под фоном ), на самом деле вы пытаетесь установить NTP.

В ваших руководствах, скорее всего, предполагается, что вы используете Ubuntuили другие дистрибутивы на основе Debian -, поскольку это основной набор ОС Linux. Другие комментарии также соглашаются с тем, что вы можете использовать рабочий стол PIXEL, отличный от -.

Если вы используете Redhatили CentOS, попробуйте использовать yum install [program].

Если вы используете Debianили ОС на основе Debian, используйте apt-get install [program], однако вы, похоже, не используетеDebian

Если вы используете Fedora, используйте yum install [program].

Если вы используете OpenSUSE, используйте rpm -i [program].rpm.

Если ничего из этого не работает, загрузите пакет .tar.gzиз здесь , используя wget [programlink], ->unpack->./configure->make-> make install.

Источник:

https://superuser.com/questions/125933

0
26.07.2019, 17:39
2 ответа

Итак, вот один из способов; вы можете обернуть эти идеи в скрипт или функцию bash:

$ FOO_SOUNDS_PATH=$HOME/.local/foo/assets/sounds:/usr/local/foo/assets/sounds:/usr/foo/assets/sounds:/usr/share/sounds/freedesktop/stereo
$ IFS=':' read -r -a array <<< "$FOO_SOUNDS_PATH" # IFS splits path into array var by ':'
$ echo "${array[@]}"
$ /home/sparrow/.local/foo/assets/sounds /usr/local/foo/assets/sounds /usr/foo/assets/sounds /usr/share/sounds/freedesktop/stereo

Это означает, что вы можете экстраполировать:

$ for i in "${array[@]}"; do find $i -type f -name *.ogg -or -name *.wav -or -name *.mp3 -or -name *.flac -printf "%f\n"; done

Это дало бы вам все соответствующие звуковые файлы... Вам нужно было бы написать сценарий для остальных, чтобы сохранить эти файлы как переменные, чтобы воспроизводить их по команде. Надеюсь, я хотя бы направил вас в правильном направлении!

1
28.01.2020, 02:29

Попробуйте что-нибудь из этого:

$ cat tst.sh
#!/bin/env bash

assPath='/foo:/bar/whatever:/somewhere/else'

assFind() {
    local tgt="$1" dir assArr
    IFS=':' read -r -a assArr <<< "$assPath"
    for dir in "${assArr[@]}"; do
        printf 'Searching "%s"\n' "$dir" >&2
        if [[ -e "${dir}/${tgt}" ]]; then
            printf '%s/%s\n' "$dir" "$tgt"
            return 0
        fi
    done
    return 1
}

assFind 'ding.ogg'

$./tst.sh
Searching "/foo"
Searching "/bar/whatever"
Searching "/somewhere/else"

Очевидно, что в моей системе нет ни этих каталогов, ни этого файла, поэтому при запуске не было стандартного вывода.

1
28.01.2020, 02:29

Теги

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