Skip to main content

All Questions

Tagged with
0 votes
2 answers
190 views

Why is echo "\*" the same as echo "\\*"

Title. echo "\*" has the exact same output as echo "\\*", \*. I am using GNU bash 5.2.15. I expected echo "\\*" to output \*, but I do not know why echo "\*" ...
Christopher Lee's user avatar
0 votes
1 answer
30 views

how to arrange quotes in this bash command

my_cmd --attr1 $(($1-$2)) --attr2 $(($1-$2+$3)) --attr3 $(($2+1)) I have this command and I would like to debug it (put it in echo and see how command will look like) but I am struggling with ...
quester's user avatar
  • 293
3 votes
1 answer
3k views

Shell command executed differently in a terminal and script

The following sequence of commands ch=`echo "b_d" | sed 's/_/\\\\\\\\_/'` echo $ch when executed in a terminal or via source give an output b\\_d When ran as a scipt sh script.sh where the ...
Viesturs's user avatar
  • 943
2 votes
2 answers
1k views

Why does the command echo `echo \\\z` output \z?

The command echo $(echo \\\z) is from the book , I don’t understand why it outputs \z I think it should output z
tmpbin's user avatar
  • 783
1 vote
2 answers
3k views

Why echo command does not need "-e" option when escaping "$" character with a backslash

This is regarding bash builtin echo. Per Bash documentation the -e option enables interpretation of backslash escapes. If I execute echo "Total Amount \$500", I see the expected output Total ...
RKA's user avatar
  • 877
5 votes
3 answers
17k views

Echo new line and string beginning \t

Sure, echo -e can be used so that \n is understood as a new line. The problem is when I want to echo something beginning with \t e.g. "\test". So let's say I want to perform echo -e "test\n\\test". I ...
Zeruno's user avatar
  • 153
7 votes
2 answers
887 views

Why does dash's echo expand \\\\ differently to bash's echo?

I have a little open source project that for various reasons I've tried to write in reasonably portable shell script. Its automated integration tests check that hostile characters in path expressions ...
csirac2's user avatar
  • 171
13 votes
2 answers
3k views

What is the difference between single quoted $'string' and double quoted $"string" in bash?

I was trying to execute new line using echo and tried following two commands: First command: echo $'Hello World\nThis is a new line' Response: Hello World This is a new line Second command: echo ...
Rafaf Tahsin's user avatar
0 votes
2 answers
168 views

trying to escape quotes

I have tried numerous ways to print this line in a script: alias myname='export PATH="/path/to/bin:$PATH"' All of them have different problems. The last I tried (and remember!) is: printf '%s' '%s\...
George's user avatar
  • 545
6 votes
2 answers
3k views

What are the effects of double quotes in echo statements? [closed]

When writing a Bash script that contains messages for the user, I can write echo Processing files... or echo "Processing files..." In this and many other cases, the output will be the same....
Chad's user avatar
  • 1,471
3 votes
2 answers
7k views

Escape characters from echo -e

I have the following in my .bashrc file I use for a log: function log(){ RED="\e[0;31m" RESET="\e[0m" echo -e "${RED}$(date)" "${RESET}$*" >> "$HOME"/mylog.txt } But when I do something ...
Proletariat's user avatar
2 votes
1 answer
2k views

Bash - syntax in echo

When using /bin/bash, what is the difference between the following two cases: echo $IFS echo "$IFS" I observe different outputs.
Jake's user avatar
  • 1,373
9 votes
7 answers
19k views

echo \\* - bash backslash escape behavior, is it evaluated backwards?

So in bash, When I do echo \* * This seems right, as * is escaped and taken literally. But I can't understand that, when I do echo \\* \* I thought the first backslash escaped the second one ...
Weishi Z's user avatar
  • 213
14 votes
2 answers
8k views

Quoted vs unquoted string expansion

for i in $(xrandr); do echo "$i" ; done for i in "$(xrandr)"; do echo "$i"; done for i in "$(xrandr)"; do echo $i; done I understand why 1 differs from 2. But why does 3 give a different output from ...
ManuelSchneid3r's user avatar
5 votes
2 answers
633 views

Why am I observing different behaviour of echo?

I observed the below behavior of echo #!/bin/bash x=" hello" echo $x echo "$x" Now when I run the above code I get ronnie@ronnie:~$ bash test.sh hello hello ronnie@ronnie:~$ So, can someone ...
ronnie's user avatar
  • 901