Configuration Information [Automatically generated, do not change]: Machine: i486 OS: linux-gnu Compiler: gcc Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='i486' -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i486-pc-linux-gnu' -DCONF_VENDOR='pc' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -I. -I../bash -I../bash/include -I../bash/lib -g -02 -Wall uname output: Linux justin-desktop 2.6.22-14-generic #1 SMP Tue Feb 12 07:42:25 UTC 2008 i686 GNU/Linux Machine Type: i486-pc-linux-gnu
Bash Version: 3.2 Patch Level: 25 Release Status: release Description: When I try to pass strings inside double or single quotes as command line arguments to my Bash script, leading spaces, trailing spaces, and multiple grouped embedded spaces are removed from the string. This also prevents me from passing in only a space or spaces as arguments to my script. Repeat-By: Save this script as 'startup': #!/bin/bash echo $# for ((index = 0; index <= $#; index++)) do echo "$index |$(eval echo \${$index})|" done exit 0 then type: ./startup ' some words ' the script will print out: 1 0 |./startup| 1 |some words|