bash: синтаксическая ошибка рядом с неожиданным токеном - PullRequest
3 голосов
/ 30 октября 2011

У меня есть этот псевдоним в .bashrc:

alias clone='while ! rsync --rsh=ssh -avP --delete --stats --compress-level=9 $1/ $2:$3 | grep -q "Number of files transferred: 0" ; do echo -n .; sleep 1; done'

Ошибка при выполнении:

clone /d/root/tmp cowboy@hicow.com /temp
bash: syntax error near unexpected token `/d/root/tmp'

Все работает нормально, если я помещаю это в файл скрипта:

#!/bin/sh
while ! rsync --rsh=ssh -avP --delete --stats --compress-level=9 $1/ $2:$3 | grep -q "Number of files transferred: 0" ; do echo -n .; sleep 1; done

и выполните файл сценария следующим образом:

./clonescript /d/root/tmp cowboy@hicow.com /temp

Любая помощь очень ценится.

1 Ответ

3 голосов
/ 30 октября 2011

Псевдонимы не имеют позиционных аргументов.вместо этого создайте функцию.

clone() {
  while ...
   ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...