Как я сбрасываю переменную в командной строке?

Да, это возможно. Но не все форматы поддерживают его.

ffmpeg FAQ:

Несколько мультимедийных контейнеров (MPEG-1, MPEG 2 пз, DV) позволяют присоединяться к видеофайлам путем простой конкатенации их.

При преобразовании в форматы .raw у Вас также есть высокий шанс, что файлы могут быть связаны.

ffmpeg -i input1.avi -qscale:v 1 intermediate1.mpg
ffmpeg -i input2.avi -qscale:v 1 intermediate2.mpg
cat intermediate1.mpg intermediate2.mpg > intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -qscale:v 2 output.avi

Но использование cat таким образом созданные промежуточные файлы, которые не необходимы. Это - лучший подход, чтобы не создавать те промежуточные файлы:

ffmpeg -i input1.avi -qscale:v 1 intermediate1.mpg
ffmpeg -i input2.avi -qscale:v 1 intermediate2.mpg
ffmpeg -i concat:"intermediate1.mpg|intermediate2.mpg" -c copy intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -qscale:v 2 output.avi

86
30.06.2016, 03:20
2 ответа

Для удаления переменной среды работать

unset ALL_PROXY

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

Если Вы добавили export ALL_PROXY=… к файлу инициализации удалите его оттуда.

Можно работать export без аргументов для наблюдения, какие переменные среды установлены в текущей оболочке.

Помните, что для предоставления доступа к переменной оболочки доступной для программ запущенный той оболочкой необходимо экспортировать его, любой путем выполнения export VAR после присвоения VAR=VALUE или путем объединения двух (export VAR=VALUE).

121
27.01.2020, 19:30

Сбрасывать связанную переменную в использовании удара unset VARIABLE (unset ALL_PROXY в Вашем случае). Эта команда на самом деле удаляет переменную. Можно также установить значение переменной для освобождения

VARIABLE=

или

VARIABLE=""

Различие - то, что две последних команды не удаляют переменную. Вы видите различие при помощи -u флаг с set вынудить это рассматривать переменные сброса как ошибку при замене:

/home/user1> var=""
/home/user1> echo $var

/home/user1> set -u
/home/user1> echo $var

/home/user1> unset var
/home/user1> echo $var
-bash: var: unbound variable

В вышеупомянутом примере удар жалуется на var развязан (после сбрасывания его значения), который является ожидаемой погрешностью (обратите внимание, что этого не происходит во второй команде эха, означая это var имеет значение, которое является empty или null).

21
27.01.2020, 19:30

Теги

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