Самый простой способ — загрузить уже скомпилированный ffmpeg
двоичный файл. Регулярно обновляемые статические сборки для Linux доступны по адресу :
.
https://www.johnvansickle.com/ffmpeg/
Просто загрузите, распакуйте и выполните. При желании переместите его куда-нибудь в свой PATH
, например /usr/local/bin
или ~/bin
.
Отказ от ответственности :Я ничего не знаю о Node.js или npm
.
Использовать функцию оболочки, которая переопределяет команду npm
:
npm () {
if [ "$1" = scripts ]; then
jq '.scripts' package.json
else
command npm "$@"
fi
}
Эта функция оболочки определяет, является ли первый аргумент функции строкой scripts
или нет. Если это так, он запускает вашу команду jq
. Если это не так, вызывается настоящая команда npm
с исходными аргументами командной строки.
Утилита command
гарантирует, что функция не вызовет (бесконечную рекурсию, иначе ).
Приведенный выше код можно разместить везде, где вы определяете обычные псевдонимы.
Еслиnpm
уже является функцией оболочки, это не сработает правильно.
Распространив это на ряд новых подкоманд -, кодif
-then
-elif
будет беспорядочным. Вместо этого:
npm () {
case $1 in
scripts) jq '.scripts' package.json ;;
hummus) hummus-command ;;
cinnamon) spice-command ;;
baubles) stuff ;;
*) command npm "$@"
esac
}
Это создаст команды scripts
, hummus
, cinnamon
и baubles
вложенные -, которые будут вызывать другие команды. Если первый аргумент функции не соответствует ни одной из пользовательских подкоманд -, настоящая команда npm
вызывается, как и раньше.
Обратите внимание, что добавление альтернативы для существующей командыnpm
sub -заменит эту команду sub -для npm
. Если вы хотите вызвать эту реальную подкоманду -из вашей собственной альтернативной подкоманды -, вызовите command npm "$@"
(, предполагая, что вы не вызывали shift
, чтобы отключить подкоманду -. имя, и в этом случае вы хотите позвонить command npm sub-command "$@"
вместо ).
Каждая новая команда sub -будет иметь доступ к аргументам командной строки функции, но вы можете shift
имя команды sub -исключить из списка:
npm () {
case $1 in
scripts) jq '.scripts' package.json ;;
hummus)
shift
echo '"npm hummus" was called with these additional arguments:'
printf '%s\n' "$@"
;;
*) command npm "$@"
esac
}
Пример последней запущенной функции:
$ npm hummus "hello world" {1..3}
"npm hummus" was called with these additional arguments:
hello world
1
2
3