LINUX.ORG.RU

Bash: множественные пробелы в параметрах.


0

0

Добрый день!
Столкнулся с проблемой передачи двух и более последовательных пробелов в параметрах командной строки Bash:

$ cat test.sh
#!/bin/sh
for i in "$@"; do
echo i=\"$i\"
done

запускаю его:

$ ./test.sh start\ \ \ \ \ \ \ \ \ end
i="start end"

В полученном параметре несколько последовательных пробелов между start и end заменены на один (backslach'и использовал, поскольку форум также производит аналогичную замену :))). Все остальные формы $1, $* дают тот же результат. Можно ли получить переданный параметр в оригинальном виде?

С уважением.


Ответ на: комментарий от wfrr

Ok, ok..
Только немного не то. Меня интересует не

#include <stdio.h>
int main( int argc, char ** argv )
{
printf( "argv[1] == %s\n", argv[1] );
return( 0 );
}

а "$@" в Bash.
(man bash, line ~498)

vyp08
() автор топика
Ответ на: комментарий от balodja

Вы спасли мне кучу времени и сил. Благодарю.

vyp08
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.