Sponsored Content
Top Forums Shell Programming and Scripting Stupid question to check if variable is empty Post 302925947 by achenle on Thursday 20th of November 2014 10:48:06 AM
Old 11-20-2014
Quote:
Originally Posted by jlliagre
There is no evidence the OP is using a loop. In any case, thousands of microseconds range delays shouldn't really hurt that much.

This would miss the case where title contains more than one space character, or a tab, or any combination of the above.

Beware that your echo statement is non portable, you should use instead:
Code:
printf "a\nb\nc\n" [ while read ...

Beware too that you are assuming ksh behavior by expecting VAL to be set at the end of the loop. A POSIX shell is not required to keep the VAL variable as it is set in a pipeline.
Not only that, "echo" is also often a shell built-in command. So "echo" is not necessarily spawning a subprocess.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Stupid Question?

I have a SparcStation 10 and it came with an external CD Rom Drive. I am trying to install Solaris 2.6 Server on this machine from the Cd Rom. At the OK> prompt I type "boot cdrom - browser" and I get an error: scsi device not found:error = -1 or something to that effect. Does anyone have any... (9 Replies)
Discussion started by: jskillet
9 Replies

2. UNIX for Dummies Questions & Answers

Stupid question...

Hello, I've always been around systems that ran windows in one version or another, so I'm familiar with what/when/where/drivers/etc for that. I want to build a unix box to use as a place to learn and become more familiar with unix. I would also like to eventually convert it to a server to... (6 Replies)
Discussion started by: Cortney
6 Replies

3. UNIX for Dummies Questions & Answers

Stupid question

I need to convert a Unix file to a 'Dos' file. Ie if I look at the converted file in 'vi' on Unix it will have '^M' at the end of each line. Hopefully it won't be a case of reading each line in turn and adding a \n. I've heard there is some sort of unix2dos command but it is not recognised on... (2 Replies)
Discussion started by: Bab00shka
2 Replies

4. UNIX for Dummies Questions & Answers

stupid question!?

fedora core 2 xx8. 5xx version (not sure! not sure how to look it up either..(except on boot sorry!!)).. :( the linux version I started on last year was an old redhet 6.0 version with only text mode.. back then for some reason I knew I how to get rid of whole directories without a) going through... (6 Replies)
Discussion started by: moxxx68
6 Replies

5. UNIX for Dummies Questions & Answers

Sorry! Stupid question, but...

Hey everybody. I'm going through my system (Mac OS X 10.3.9, through the Terminal application) trying to get rid of instances of MySQL that I installed over each other. I was having trouble getting MySQL to work: it wasn't letting me set the password, then it wouldn't let me create new databases... (2 Replies)
Discussion started by: starscream
2 Replies

6. UNIX for Dummies Questions & Answers

One stupid question

Has anybody come across the situation when after openning the cover of HP9000 the PC will not start. We checked everything but did not manage to find any solution to that. The PS seems to be functionning (at lease we can hear it clicking). Please help us solving the problem. Thanks to everybody. (2 Replies)
Discussion started by: Andrey Malishev
2 Replies

7. Shell Programming and Scripting

How to check if two variable are empty strings at once? (bash)

I need to check if $1 or $2 are empty before continuing but I don't know if bash has any logic of the sort. This is what I'm looking for - except that "and" doesn't seem to work. if and ;then ... Thank you! :D (4 Replies)
Discussion started by: ph0enix
4 Replies

8. Shell Programming and Scripting

How to check the variable is empty with spacing

How to check the variable is empty or not? aaa=" " how to check aaa variable is empty or just spacing? If only spacing inside.. it will asume it is empty. some are 6 spacing, or 8 spacing.. as long as variable is empty with spacing.. anyone can help me? (2 Replies)
Discussion started by: ryanW
2 Replies

9. Shell Programming and Scripting

How to check a variable for empty and a newline

I have a variable with a new line. I want to check this variable for empty or a new line Can anyone advise (4 Replies)
Discussion started by: Muthuraj K
4 Replies

10. Shell Programming and Scripting

How to check whether a variable is empty or contains some value?

hi, i want to check whether a a variable contains some value or is empty in a shell script. so if the variable contains some value i want to do some job and if the variable doesnt contain any value then i need to skip that job. here is a sample script read_filenames.sh contains ... (5 Replies)
Discussion started by: Little
5 Replies
echo(1) 							   User Commands							   echo(1)

NAME
echo - echo arguments SYNOPSIS
/usr/bin/echo [string...] DESCRIPTION
The echo utility writes its arguments, separated by BLANKs and terminated by a NEWLINE, to the standard output. If there are no arguments, only the NEWLINE character will be written. echo is useful for producing diagnostics in command files, for sending known data into a pipe, and for displaying the contents of environ- ment variables. The C shell, the Korn shell, and the Bourne shell all have echo built-in commands, which, by default, will be invoked if the user calls echo without a full pathname. See shell_builtins(1). sh's echo, ksh's echo, and /usr/bin/echo understand the back-slashed escape charac- ters, except that sh's echo does not understand a as the alert character. In addition, ksh's echo, does not have an -n option. sh's echo and /usr/bin/echo only have an -n option if the SYSV3 environment variable is set (see ENVIRONMENT VARIABLES below). If it is, none of the backslashed characters mentioned above are available. csh's echo and /usr/ucb/echo, on the other hand, have an -n option, but do not under- stand the back-slashed escape characters. OPERANDS
The following operand is supported: string A string to be written to standard output. If any operand is "-n", it will be treated as a string, not an option. The following character sequences will be recognized within any of the arguments: a Alert character.  Backspace. c Print line without new-line. All characters following the c in the argument are ignored. f Form-feed. New-line. Carriage return. Tab. v Vertical tab. \ Backslash. n Where n is the 8-bit character whose ASCII code is the 1-, 2- or 3-digit octal number representing that character. USAGE
Portable applications should not use -n (as the first argument) or escape sequences. The printf(1) utility can be used portably to emulate any of the traditional behaviors of the echo utility as follows: o The Solaris 2.6 operating environment or compatible version's /usr/bin/echo is equivalent to: printf "%b " "$*" o The /usr/ucb/echo is equivalent to: if [ "X$1" = "X-n" ] then shift printf "%s" "$*" else printf "%s " "$*" fi New applications are encouraged to use printf instead of echo. EXAMPLES
Example 1: Finding how far below root your current directory is located You can use echo to determine how many subdirectories below the root directory (/) is your current directory, as follows: o Echo your current-working-directory's full pathname. o Pipe the output through tr to translate the path's embedded slash-characters into space-characters. o Pipe that output through wc -w for a count of the names in your path. example% /usr/bin/echo $PWD | tr '/' ' ' | wc -w See tr(1) and wc(1) for their functionality. Below are the different flavors for echoing a string without a NEWLINE: Example 2: /usr/bin/echo example% /usr/bin/echo "$USER's current directory is $PWDc" Example 3: sh/ksh shells example$ echo "$USER's current directory is $PWDc" Example 4: csh shell example% echo -n "$USER's current directory is $PWD" Example 5: /usr/ucb/echo example% /usr/ucb/echo -n "$USER's current directory is $PWD" ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of echo: LANG, LC_ALL, LC_CTYPE, LC_MES- SAGES, and NLSPATH. SYSV3 This environment variable is used to provide compatibility with INTERACTIVE UNIX System and SCO UNIX installation scripts. It is intended for compatibility only and should not be used in new scripts. EXIT STATUS
The following error values are returned: 0 Successful completion. >0 An error occurred. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |CSI |enabled | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ SEE ALSO
echo(1B), printf(1), shell_builtins(1), tr(1), wc(1), ascii(5), attributes(5), environ(5), standards(5) NOTES
When representing an 8-bit character by using the escape convention n, the n must always be preceded by the digit zero(0). For example, typing: echo 'WARNING:7' will print the phrase WARNING: and sound the "bell" on your terminal. The use of single (or double) quotes (or two backslashes) is required to protect the "" that precedes the "07". Following the , up to three digits are used in constructing the octal output character. If, following the n, you want to echo addi- tional digits that are not part of the octal representation, you must use the full 3-digit n. For example, if you want to echo "ESC 7" you must use the three digits "033" rather than just the two digits "33" after the . 2 digits Incorrect: echo"0337 | od -xc produces: df0a (hex) 337 (ascii) 3 digits Correct: echo "00337" | od -xc produces: lb37 0a00 (hex) 033 7 (ascii) For the octal equivalents of each character, see ascii(5). SunOS 5.10 20 Jan 2000 echo(1)
All times are GMT -4. The time now is 03:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy