Ярлык для некоторых обычно используемых команд с переменными

Я использую эти команды ежедневно:

mkdir ______ && rar a -m0 -v200M ______/______.rar "XXXXXXXX" && rm -rf "XXXXXXXX" &&
par2 c -r10 -l ______/______.par2 ______/* && ~/newsmangler/mangler.py -c
~/.newsmangler.conf ______ && rm -rf ______

Где "XXXXXXXX" и "______" - две переменные.
Есть ли способ использовать ярлык, чтобы сделать это проще, так как изменяются только "XXXXXXXX" и "______"? Я ищу что-то похожее на:

mycommands _____ XXXXX

Пара вещей, которые вы можете знать:
- Я использую терминал GNOME.
- У меня нет root-доступа.

1 ответ

Решение

Просто напишите функцию, которая принимает два аргумента:

function just_do_it (){
  ( [ -z "$1" ] || [ -z "$2" ] ) && echo "No arguments given" && return 1
  echo "do stuff with $1 and $2"
  # notice to use double quotes, when processing the varibales
  ls -l "$1"
}

Первая строка проверяет, заданы ли два аргумента. Аргумент может быть доступен $1 (первый) и $2 (Второй).

Редактировать: функция в вашем случае будет, например, выглядеть так (немного более читабельно отформатированная):

function just_do_it (){
  ( [ -z "$1" ] || [ -z "$2" ] ) && echo "No arguments given" && return 1
  mkdir "$1" && \
  rar a -m0 -v200M "$1/$1.rar" "$2" && \
  rm -rf "$2" && \
  par2 c -r10 -l "$1/$1.par2" "$1/*" && \
  ~/newsmangler/mangler.py -c ~/.newsmangler.conf "$1" && \
  rm -rf "$1"
}
Другие вопросы по тегам