Difference between echo `ls -l` and echo "`ls -l`" ?
Hi guys,
Been messing around with shell programming for a couple of days and I found something that was pretty odd in the behavior of the echo command. Below is an example-:
When I type the following in my /home directory from my lxterminal in Debian-:
echo "`ls -l`"
I get the following output-:
Now this is what I expected. I know whatever is put in ` ` is suppose to interpreted as a command in the BASH echo. So, therefore this is the expected output of ls -l on my /home directory.
But it gets weird when I remove the " " (double quotes) from the echo statement.
When I run the following-:
echo `ls -l`
I get as output the following-:
If you look closely you will see that it is exactly identical to the output that is given above except for the fact that it contains no line breaks. My question is why ?
Why are the line-breaks removed when I remove the double quotes from echo ? Whatever is there in ` `(tild signs) is supposed to be interpreted as a command right ?
If removal of double quotes " " means that there is a change in the meaning of the echo, then please tell me what is the special meaning that double quotes has in echo ?
Is there any difference between echo "$SHELL" and echo $SHELL ? I know the output is same but since one has double quotes and one doesn't is there any difference in the way that BASH treats them internally ?
I am using Debian Wheezy LXDE with Bash 4.2.
Thanks.
Hi,
I've modified the syslogd source to include a thread that will keep track of a timer(or a timer thread). My intention is to check the file size of /var/log/messages in every one minute & if the size is more than 128KB, do a echo " " > /var/log/messages, so that the file size will be set... (7 Replies)
So in my shell i execute:
{ while true; do echo string; sleep 1; done } | read line This waits one second and returns.
But
{ while true; do /bin/echo string; sleep 1; done } | read line continues to run, and doesn't stop until i kill it explicitly.
I have tried this in bash as well as zsh,... (2 Replies)
Hello All
Nice to meet you all here in this forum,
it's my 1rst time here
i'm asking about a little issue that i face
i added a ksh script that echo " please insert your name " and store the output to a login.log file.
the script is working fine with normal telnet
but Xstart is not working... (8 Replies)
echo `echo ` doesn't echoes anything. And it's logic. But
echo `echo `echo ` ` does echoes "echo". What's the logic of it? the `echo `echo ` inside of the whole (first) echo, echoes nothing, so the first echo have to echo nothing but echoes "echo"
(too much echoing :P):o (2 Replies)
Hello,
On a HP-UX 10.20 server I've executed something similar to this command:
# echo 'selall;info;wait;infolog;view;done' | /usr/sbin/cstm
But it returns sometype of "argument list too long" error.
I suppose there is a way to fix it by using xargs but I can't figure it out.
Any... (7 Replies)
Hello, I have a simple(I think) question!
Although simple, I have been unable to resolve it, so I hope someone can help! OK, here it is:
1)I have an awk script that prints something, such as:
awk '{print $2}' a > x
so x might hold the value of say '10'
2)Now, I just want to check to see if... (4 Replies)
Hi guys,
I have a shell script where I have the following:
for i in ad0 ad1
do
gpart create -s gpt $i || echo "Cannot create GPT partition on "$i". Exiting ..."
gpart add -s 128 -t freebsd-boot $i || echo "Cannot add freebsd-boot partition on "$i". Exiting ..."
gpart add -s 4G -t... (2 Replies)
Hi Folks,
As per the subject, the following command is not working as expected.
echo $variable | mail -s "subject" "xxx@xxx.com"
Could anyone figure it out whats wrong with this. I am using AIX box.
Regards, (2 Replies)
I came across and unexpected behavior with redirections in tcsh. I know, csh is not best for redirections, but I'd like to understand what is happening here.
I have following script (called out_to_streams.csh):
#!/bin/tcsh -f
echo Redirected to STDOUT > /dev/stdout
echo Redirected to... (2 Replies)
Discussion started by: marcink
2 Replies
LEARN ABOUT DEBIAN
shtool-echo
SHTOOL-ECHO.TMP(1) GNU Portable Shell Tool SHTOOL-ECHO.TMP(1)NAME
shtool-echo - GNU shtool echo(1) extensional command
SYNOPSIS
shtool echo [-n|--newline] [-e|--expand] string
DESCRIPTION
shtool echo is an echo(1) style command which prints string to stdout and optionally provides special expansion constructs (terminal bold
mode, environment details, date, etc) and newline control. The trick of this command is that it provides a portable -n option and hides the
gory details needed to find out the environment details under option -e.
OPTIONS
The following command line options are available.
-n, --newline
By default, output is written to stdout followed by a "newline" (ASCII character 0x0a). If option -n is used, this newline character is
omitted.
-e, --expand
If option -e is used, string can contain special "%x" constructs which are expanded before the output is written. Currently the
following constructs are recognized:
%B switch terminal mode to bold display mode.
%b switch terminal mode back to normal display mode.
%u the current user name.
%U the current user id (numerical).
%g the current group name.
%G the current group id (numerical).
%h the current hostname (without any domain extension).
%d the current domain name.
%D the current day of the month.
%M the current month (numerical).
%m the current month name.
%Y the current year.
EXAMPLE
# shell script
shtool echo -n -e "Enter your name [%B%u%b]: "; read name
shtool echo -e "Your Email address might be %u@%h%d"
shtool echo -e "The current date is %D-%m-%Y"
HISTORY
The GNU shtool echo command was originally written by Ralf S. Engelschall <rse@engelschall.com> in 1998 for Website META Language (WML)
under the name buildinfo. It was later taken over into GNU shtool.
SEE ALSO shtool(1), echo(1).
18-Jul-2008 shtool 2.0.8 SHTOOL-ECHO.TMP(1)