Well, for starters -- it's a pretty silly thing to do, either way. Why do echo "`command`" when you could just do command ?
But the difference is, quotes prevent a string from splitting on whitespace. Spaces, tabs and newlines all count as whitespace. If you do VAR="a b c", and use $VAR without putting it into quotes, the shell will split it in three.
So, quoted, it ends up being:
And the unquoted way ends up being:
This is also one of many reasons why for LINE in `command` is a poor idea. It splits on whitespace, not lines.
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 FREEBSD
openpam_readword
OPENPAM_READWORD(3) BSD Library Functions Manual OPENPAM_READWORD(3)NAME
openpam_readword -- read a word from a file, respecting shell quoting rules
LIBRARY
Pluggable Authentication Module Library (libpam, -lpam)
SYNOPSIS
#include <sys/types.h>
#include <stdio.h>
#include <security/pam_appl.h>
#include <security/openpam.h>
char *
openpam_readword(FILE *f, int *lineno, size_t *lenp);
DESCRIPTION
The openpam_readword() function reads the next word from a file, and returns it in a NUL-terminated buffer allocated with malloc(3).
A word is a sequence of non-whitespace characters. However, whitespace characters can be included in a word if quoted or escaped according
to the following rules:
o An unescaped single or double quote introduces a quoted string, which ends when the same quote character is encountered a second time.
The quotes themselves are stripped.
o Within a single- or double-quoted string, all whitespace characters, including the newline character, are preserved as-is.
o Outside a quoted string, a backslash escapes the next character, which is preserved as-is, unless that character is a newline, in which
case it is discarded and reading continues at the beginning of the next line as if the backslash and newline had not been there. In all
cases, the backslash itself is discarded.
o Within a single-quoted string, double quotes and backslashes are preserved as-is.
o Within a double-quoted string, a single quote is preserved as-is, and a backslash is preserved as-is unless used to escape a double
quote.
In addition, if the first non-whitespace character on the line is a hash character (#), the rest of the line is discarded. If a hash charac-
ter occurs within a word, however, it is preserved as-is. A backslash at the end of a comment does cause line continuation.
If lineno is not NULL, the integer variable it points to is incremented every time a quoted or escaped newline character is read.
If lenp is not NULL, the length of the word (after quotes and backslashes have been removed) is stored in the variable it points to.
RETURN VALUES
If successful, the openpam_readword() function returns a pointer to a dynamically allocated NUL-terminated string containing the first word
encountered on the line.
The caller is responsible for releasing the returned buffer by passing it to free(3).
If openpam_readword() reaches the end of the line or file before any characters are copied to the word, it returns NULL. In the former case,
the newline is pushed back to the file.
If openpam_readword() reaches the end of the file while a quote or backslash escape is in effect, it sets errno to EINVAL and returns NULL.
IMPLEMENTATION NOTES
The parsing rules are intended to be equivalent to the normal POSIX shell quoting rules. Any discrepancy is a bug and should be reported to
the author along with sample input that can be used to reproduce the error.
SEE ALSO openpam_readline(3), openpam_readlinev(3), pam(3)STANDARDS
The openpam_readword() function is an OpenPAM extension.
AUTHORS
The openpam_readword() function and this manual page were developed by Dag-Erling Smorgrav <des@des.no>.
BSD September 12, 2014 BSD