On Thu, Apr 16, 2015 at 6:51 PM, Guillermo Buritica Tobon <
gburitic...@gmail.com> wrote:

> Hi All.
>
> H have the next bash script code.:
>
> #!/bin/sh
> # Pring OK on empty input,
> # Print input on non-empty input
>
> read INPUT
> if [ -z "$INPUT" ]; then
>         echo OK
> else
>         echo $INPUT
>         while read INPUT; do
>                 echo $INPUT
>         done
> fi
>
>
> The function read one input and print the input or print "OK" if the input
> is enpty
>
> Example correct use:
>
> echo "Hello World" | ~/OkIfNoInput.sh
> Hello World
>
> echo "" | ~/OkIfNoInput.sh
> OK
>
> The ISSUE is when the string Contain "*" the results are very estrange. or
> "*[space]"
>
> echo "* Hello World *" |  ~/OkIfNoInput.sh
> forensic orbit-gtobon postgresql-2015-04-13_000000.log qt_temp.kn3231
> qt_temp.Lh3231 qt_temp.nS3231 qt_temp.T28137 query.html server.log
> smartgrep_60863524962e4077d558766bf2f79235a373cae448da3e11b384b37e7d2f1ea8
> ssh-Mxs2Qb6AhJxc systemd-private-1AfwYz systemd-private-2stQfP
> systemd-private-2ytw5H systemd-private-3xYsUI systemd-private-44tvlt
> systemd-private-4FOgxG systemd-private-cfGpBQ systemd-private-d6PHV1
> systemd-private-EQaIzh systemd-private-FZx2ad systemd-private-GJzO5O
> systemd-private-GTYlPD systemd-private-H72F9i systemd-private-I6N6mv
> systemd-private-isBta7 systemd-private-m70a9b systemd-private-missS7
> systemd-private-mPbVbC systemd-private-noY0rf systemd-private-nZbmwS
> systemd-private-obDFE9 systemd-private-OfXH6S systemd-private-P6I7QK
> systemd-private-PI2Kf0 systemd-private-Q8dNwo systemd-private-qiMHMr
> systemd-private-QiOvUZ systemd-private-RO0WgV systemd-private-t2Slaz
> systemd-private-UH50C8 systemd-private-yJIqqS tt.txt
> zabbix_server_5662.pinger zabbix_server_5680.pinger Hello World forensic
> orbit-gtobon postgresql-2015-04-13_000000.log qt_temp.kn3231 qt_temp.Lh3231
> qt_temp.nS3231 qt_temp.T28137 query.html server.log
> smartgrep_60863524962e4077d558766bf2f79235a373cae448da3e11b384b37e7d2f1ea8
> ssh-Mxs2Qb6AhJxc systemd-private-1AfwYz systemd-private-2stQfP
> systemd-private-2ytw5H systemd-private-3xYsUI systemd-private-44tvlt
> systemd-private-4FOgxG systemd-private-cfGpBQ systemd-private-d6PHV1
> systemd-private-EQaIzh systemd-private-FZx2ad systemd-private-GJzO5O
> systemd-private-GTYlPD systemd-private-H72F9i systemd-private-I6N6mv
> systemd-private-isBta7 systemd-private-m70a9b systemd-private-missS7
> systemd-private-mPbVbC systemd-private-noY0rf systemd-private-nZbmwS
> systemd-private-obDFE9 systemd-private-OfXH6S systemd-private-P6I7QK
> systemd-private-PI2Kf0 systemd-private-Q8dNwo systemd-private-qiMHMr
> systemd-private-QiOvUZ systemd-private-RO0WgV systemd-private-t2Slaz
> systemd-private-UH50C8 systemd-private-yJIqqS tt.txt
> zabbix_server_5662.pinger zabbix_server_5680.pinger
>
>
> echo "*" |  ~/OkIfNoInput.sh
> forensic orbit-gtobon postgresql-2015-04-13_000000.log qt_temp.kn3231
> qt_temp.Lh3231 qt_temp.nS3231 qt_temp.T28137 query.html server.log
> smartgrep_60863524962e4077d558766bf2f79235a373cae448da3e11b384b37e7d2f1ea8
> ssh-Mxs2Qb6AhJxc systemd-private-1AfwYz systemd-private-2stQfP
> systemd-private-2ytw5H systemd-private-3xYsUI systemd-private-44tvlt
> systemd-private-4FOgxG systemd-private-cfGpBQ systemd-private-d6PHV1
> systemd-private-EQaIzh systemd-private-FZx2ad systemd-private-GJzO5O
> systemd-private-GTYlPD systemd-private-H72F9i systemd-private-I6N6mv
> systemd-private-isBta7 systemd-private-m70a9b systemd-private-missS7
> systemd-private-mPbVbC systemd-private-noY0rf systemd-private-nZbmwS
> systemd-private-obDFE9 systemd-private-OfXH6S systemd-private-P6I7QK
> systemd-private-PI2Kf0 systemd-private-Q8dNwo systemd-private-qiMHMr
> systemd-private-QiOvUZ systemd-private-RO0WgV systemd-private-t2Slaz
> systemd-private-UH50C8 systemd-private-yJIqqS tt.txt
> zabbix_server_5662.pinger zabbix_server_5679.pinger
>
>
>
> This is an expected result?
> I'm doing something wrong?
> Or is this a bug in bash?
>
>
>
> Kind Regards
>
>
> Guillermo Buritica T.
>

Always quote your variables. The problem comes from

echo $INPUT

which should be

echo $INPUT

-- 
Visit serverfault.com to get your system administration questions answered.

Reply via email to