Полагаю, вам придется разрезать отдельные куски, а затем соединить их. Не используйте для этого cat
, так как коды времени будут повсюду.
Если видеофрагментами являются mp4
, используйте mp4box
(из gpac
пакетов) для конкатенации:
mp4box -cat vid1.mp4 -cat vid2.mp4 ... -cat vidN.mp4 -new vid1-N.mp4
-121--65792-
Можно проверить доступность прокси-сервера носков, попытавшись загрузить веб-сайт через туннель.
curl -sSf --socks5-hostname localhost:8888 www.google.com > /dev/null
В приведенной выше команде завитков
будет скрыт, если не возникнет ошибка. Эту команду можно обернуть в цикл for в рамках сценария. Возвращаемое значение завитков
равно нулю, если прокси-сервер носков активен (и google.com
не выключен).
#!/bin/bash
set -o errexit
set -o nounset
#set -o xtrace
PROGNAME=$(basename $0)
die () {
echo "${PROGNAME}: ${1:-"Unknown Error, Abort."}" 1>&2
exit 1
}
status=0
while [[ 1 ]]; do
curl -sSf --socks5-hostname localhost:8888 www.google.com > /dev/null || status=$?
if [[ $status -ne 0 ]]; then
echo "Trying to reconnect .."
# kill proxy
# reconnect-cmd || die "$LINENO: reconnecting failed"
fi
sleep 100
done
-121--63655-
http://www.unix.com/man-page/posix/1p/MAN/ Это 1p-страница для posix-программиста
http://www.unix.com/man-page/posix/1p/grep/ Это для grp 1p man page
También puede usarbegin
yend
para condicionales:
For even more complex conditions, use begin and end to group parts of them.
Para un ejemplo más simple, puede echar un vistazo a esta respuesta de stackoverflow.
Para su código, solo tiene que reemplazar el (
con begin ;
y el )
con ; end
.
#!/usr/bin/fish
if begin ; false ; and true ; end ; or true
echo "true"
else
echo "false"
end
if false; and begin ; true ; or true ; end
echo "true"
else
echo "false"
end
Solución alternativa:subcontratar parte de la cadena condicional en una función
así:
#!/usr/bin/fish
function _my_and_checker
return $argv[1]; and argv[2]
end
function _my_or_checker
return $argv[1]; or argv[2]
end
if _my_and_checker false true ; or true
echo "true"
else
echo "false"
end
if false; and _my_or_checker true true
echo "true"
else
echo "false"
end
Esto tiene más sentido si las condiciones mismas son comandos complejos.