Какие существуют программные инструменты для просмотра видео на Android с сервера Linux?

Как объяснил pLumo , ваш тест всегда будет успешным.

Что вам нужно сделать, так это проверить, расширяется ли ваш паттерн $SSHPATH/$ID.*во что-то. Это отличается от проверки с помощью -f, является ли это обычным файлом, поскольку шаблон может расширяться до нескольких имен, а проверка -fможет применяться только к одному пути.

Локально это можно сделать с помощью

set -- "$SSHPATH/$ID".*
if [ -e "$1" ]; then...; fi

Это установит позиционные параметры ($1, $2и т. д. )на имена, соответствующие шаблону, указанному в set. Операторы ifзатем проверяют, является ли первое совпадение существующим именем (шаблон останется нераскрытым в большинстве оболочек, если он ничему не соответствует ).

Чтобы выполнить это черезssh:

ssh user@host "set -- '$SSHPATH/$ID'.*; [ -e \"\$1\" ]"

Нечеткие кавычки гарантируют, что $SSHPATHи $IDрасширяются локальной оболочкой , а "$1"расширяются удаленно.

Это даст вам нулевой статус выхода ("успешно" ), если шаблон соответствует существующему имени, и не -нулевой ("неудачный" ), если нет (. ] или если sshкаким-то образом не удалось ).

Вы можете использовать это в операторе ifследующим образом:

if ssh user@host "set -- '$SSHPATH/$ID'.*; [ -e \"\$1\" ]"; then
   # do something for success
else
   # do something for failure
fi

Чтобы проверить отсутствие-существования, отмените тест:

if ssh user@host "set -- '$SSHPATH/$ID'.*; [ ! -e \"\$1\" ]"; then
   # do something for failure
else
   # do something for success
fi

Я проигнорировал использование вами sshpass, но вы можете просто добавить префикс sshс ним, как вы сделали в вопросе.

1
19.08.2021, 17:04
1 ответ

VLC на Android поддерживает SFTP, поэтому на сервере не требуется ничего, кроме SSH (По крайней мере, в тех редких случаях, когда я получаю доступ к видео на своем ПК с телефона, эта комбинация работает нормально ).

0
20.08.2021, 10:26

Теги

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