GNeRaL 1142282031 learn -e greycat 1142282178 forget lhunath 1205238450 learn $var; rm $file -- If you do not quote $var bash will split its content up into words, *removing* ALL whitespace (newlines, spaces, tabs) from it. Each word is fed as a separate argument to echo or rm. Echo prints all its arguments separating them by a SINGLE space while rm will remove the files denoted by every WORD. lhunath 1205239234 forget kojiro 1296058112 learn echo outputs a string, but if that string starts with a - it could break. printf '%s\n' is a little safer. Also consider using a herestring: see !<<< neurolysis 1306236726 forget neurolysis 1306236728 learn echo outputs a string, but under certain circumstances, it could break. It's also not completely portable, output may differ between implementations, see http://cfajohnson.com/shell/cus-faq.html#0b . printf '%s\n' is safer. Also consider using a here string: see !<<< neurolysis 1306236774 forget neurolysis 1306236776 learn echo outputs a string, but under certain circumstances, it could break. It's also not completely portable, output may differ between implementations, see http://cfajohnson.com/shell/cus-faq.html#Q0b . printf '%s\n' is safer. Also consider using a here string: see !<<< neurolysis 1306237144 forget neurolysis 1306237144 learn echo outputs a string, but under certain circumstances, it could break. It's also not completely portable, output may differ between implementations. printf '%s\n' is safer. Also consider using a here string; see !<<< . # http://cfajohnson.com/shell/cus-faq.html#Q0b # http://www.in-ulm.de/~mascheck/various/echo+printf/ ormaaj 1338030976 forget ormaaj 1338031092 learn echo outputs a string, but under certain circumstances, it could break. echo is not completely portable. printf '%s\n' "args..." is a safer alternative. http://wiki.bash-hackers.org/commands/builtin/echo http://cfajohnson.com/shell/cus-faq.html#Q0b http://www.in-ulm.de/~mascheck/various/echo+printf/ ormaaj 1348596995 forget ormaaj 1348597119 learn echo outputs a string. It is very non-portable except in simple cases, and should never be used with option flags. In POSIX shells, use: `printf '%b\n' "args"' or `printf %s "args"' for echo -e and -n respectively. For ksh-like shells other than Bash, use `print', `print -r', and `print -n'. http://wiki.bash-hackers.org/commands/builtin/echo | http://cfajohnson.com/shell/cus-faq.html#Q0b | ormaaj 1348597178 forget ormaaj 1348597325 learn echo outputs a string. It is non-portable except in very simple cases, and should never be used with option flags. In POSIX shells, use: `printf '%b\n' "args"' or `printf %s "args"' for echo -e and -n respectively. For ksh-like shells other than Bash, use print -[r|n]. http://wiki.bash-hackers.org/commands/builtin/echo | http://cfajohnson.com/shell/cus-faq.html#Q0b | ormaaj 1348997410 forget ormaaj 1348997425 learn echo outputs a string. echo has many portability problems, and should never be used with option flags. In POSIX shells, use: `printf '%b\n' "args"' or `printf %s "args"' for -e and -n respectively. For ksh-like shells other than Bash: print -[r|n]. http://wiki.bash-hackers.org/commands/builtin/echo | http://cfajohnson.com/shell/cus-faq.html#Q0b | http://www.in-ulm.de/~mascheck/various/echo+printf lhunath 1395853952 forget lhunath 1395854084 learn echo outputs a string. echo has many portability problems, and should never be used with option flags. Consider printf instead: printf 'name: %s\n' "$name". http://wiki.bash-hackers.org/commands/builtin/echo | http://cfajohnson.com/shell/cus-faq.html#Q0b | http://www.in-ulm.de/~mascheck/various/echo+printf emanuele6 1680617053 forget emanuele6 1680617114 learn echo outputs a string. echo has many portability problems, and should never be used with option flags. Consider printf instead: printf 'name: %s\n' "$name". https://wiki.bash-hackers.org/commands/builtin/echo | https://cfajohnson.com/shell/cus-faq.html#Q0b | http://www.in-ulm.de/~mascheck/various/echo+printf | https://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html