Friday, March 27, 2009

bash wrapper scripting - parameters

краткий ответ: $@

сам пост:
Допустим, есть какая-то уже налаженная схема запуска чего-либо, где всё настроено и работает, но хочется чуть-чуть изменить процесс, причём где-то в середине и без особого гемороя. Легко и просто - заменяем исполняемую команду на скриптег, который делает наши действия и потом вызывает саму настоящую программу. Бида, бида нас ждёт, если сделать всё в лоб!
[cra@server 10:37 ~]
$ cat /usr/bin/svnserve
#!/bin/bash

umask 002
/usr/bin/svnserve_real

даст, например, неудачный резальтат

[cra@zenwalk 10:38:53 /tmp]
$ svn checkout svn+ssh://servak_inet/repos/gui/trunk
You must specify exactly one of -d, -i, -t or -X.
Type '/usr/bin/svnserve_real --help' for usage.
svn: Connection closed unexpectedly


Решение тривиально, надо чуть-чуть изменить исходный скрипт
[cra@server 10:45 ~]
$ cat /usr/bin/svnserve
#!/bin/bash

umask 002
/usr/bin/svnserve_real $@


Вот так, а я и не знал, однако :)

No comments: