Как передать переменную внутри find и bash -c?

Привет, ребята, у меня проблемы с передачей переменной в часть кода% exe. Нужна ваша помощь.

Вот мой рабочий код, который я использую внутри сценария bash:

## Function
targz() {
  find $1 -type f -name "*.$2" -exec \
    bash -c 'old=$(basename {}); new=${old/%exe/tar\.gz}; \
      tar -zcvf $new $old; ' \;
}

## Function Call
## targz [directory] [extension]
targz . 'exe';

и да, я пробовал использовать его примерно так:

new=${old/%$2/tar\.gz};

, но он генерирует такие имена файлов, как: file.exetar.gz

6
задан EMC 30 November 2010 в 15:13
поделиться