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.