Sponsored Content
Top Forums Shell Programming and Scripting Avoid single line output from function Post 302905892 by Don Cragun on Sunday 15th of June 2014 10:34:13 PM
Old 06-15-2014
The behavior of echo when given any options and when given any operands that contain any backslash characters varies from shell to shell, OS to OS, and on some operating systems with some shells depending on environment variables in place when the script is run. For portability and consistent behavior across shells and operating systems, use printf instead of echo in these cases.
Code:
#!/bin/sh
inc() {
local value=4
echo "value is $value within the function"
printf '$1 is %s within the function\n' "$1"
}
value=5
echo value is $value before the function
printf '$1 is %s before the function\n' "$1"
printf '\n%s\n\n' "$(inc $value)"
echo value is $value after the function
printf '$1 is %s after the function\n' "$1"

The meaning of local inside a function definition also varies from shell to shell, but since that doesn't seem to be a problem for you, I've left it as is.

If you were expecting -e to allow escape sequences in echo and you weren't expecting escape sequences to work without -e; what were you expecting:
Code:
echo "\\b\$1"

to do?

Last edited by Don Cragun; 06-15-2014 at 11:35 PM.. Reason: Add missing ".
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Multi-line output to single line

Hello, How can I take the following output: outputa outputb outputc and turn it into single line ouput, with a single space between each field like below: outputa outputb outputc (7 Replies)
Discussion started by: LinuxRacr
7 Replies

2. Shell Programming and Scripting

single line input to multiple line output with sed

hey gents, I'm working on something that will use snmpwalk to query the devices on my network and retreive the device name, device IP, device model and device serial. I'm using Nmap for the enumeration and sed to clean up the results for use by snmpwalk. Once i get all the data organized I'm... (8 Replies)
Discussion started by: mitch
8 Replies

3. Shell Programming and Scripting

Output coming in different line instead of single line

Hi Guys, I have an oracle database, I am trying to query the database and route it to file. But the records instead of coming in a single line, are coming in three lines. Can you please help me.. in this.. sqlplus -s $SRMUserid/$SRMPassword@$SRMServer<< EOF >log.out; select * from... (5 Replies)
Discussion started by: mac4rfree
5 Replies

4. Shell Programming and Scripting

How to avoid the truncating of multiple spaces into a single space while reading a line from a file?

consider the small piece of code while read line do echo $line done < example content of example file sadasdasdasdsa erwerewrwr ergdgdfgf rgerg erwererwr the output is like sadasdasdasdsa erwerewrwr ergdgdfgf rgerg erwererwr the... (4 Replies)
Discussion started by: Kesavan
4 Replies

5. Shell Programming and Scripting

Output to be in single line

Hi All, Small script but :wall:, please help in this regard. for i in 1 2 3 do echo $i done result : 1 2 3 I want the above to be printed as below expected result: 1 2 3 Thanks in advance :) (3 Replies)
Discussion started by: girish_satyam
3 Replies

6. Shell Programming and Scripting

Merge multi-line output into a single line

Hello I did do a search and the past threads doesn't really solve my issue. (using various awk commands) I need to combine the output from java -version into 1 line, but I am having difficulties. When you exec java -version, you get: java version "1.5.0_06" Java(TM) 2 Runtime... (5 Replies)
Discussion started by: flagman5
5 Replies

7. Shell Programming and Scripting

Joining multi-line output to a single line in a group

Hi, My Oracle query is returing below o/p ---------------------------------------------------------- Ins trnas value a lkp1 x a lkp1 y b lkp1 a b lkp2 x b lkp2 y ... (7 Replies)
Discussion started by: gvk25
7 Replies

8. Shell Programming and Scripting

Output to single line

Hi, I am using below command and getting below output. echo "dis ql(*) CLUSTER"|runmqsc CT.QM.ASSA10T1| egrep 'QUEUE|CLUSTER'|egrep -v 'SYSTEM|XMITQ'| sed -e 's/QUEUE(/ /g' -e 's/TYPE(QLOCAL)/ /g' -e 's/CLUSTER(/ /g' -e 's/)/ /g' output CT.CL.ALLUHUB.FLST_TO_HUB_PROV.01... (20 Replies)
Discussion started by: darling
20 Replies

9. Shell Programming and Scripting

convert single line output to multiple line

Hi all, I have a single line output like below echo $ips 10.26.208.28 10.26.208.26 10.26.208.27 want to convert above single line output as below format. Pls advice how to do ? 10.26.208.28 10.26.208.26 10.26.208.27 Regards Kannan (6 Replies)
Discussion started by: kamauv234
6 Replies

10. UNIX for Beginners Questions & Answers

Output to file print as single line, not separate line

example of problem: when I echo "$e" >> /home/cogiz/file.txt result prints to file as:AA BB CC I need it to save to file as this:AA BB CC I know it's probably something really simple but any help would be greatly appreciated. Thank You. Cogiz (7 Replies)
Discussion started by: cogiz
7 Replies
ncursesw5-config(1)					      General Commands Manual					       ncursesw5-config(1)

NAME
ncursesw5-config - helper script for ncurses libraries SYNOPSIS
ncursesw5-config [options] DESCRIPTION
This is a shell script which simplifies configuring applications against a particular set of ncurses libraries. OPTIONS
--prefix echos the package-prefix of ncurses --exec-prefix echos the executable-prefix of ncurses --cflags echos the C compiler flags needed to compile with ncurses --libs echos the libraries needed to link with ncurses --version echos the release+patchdate version of ncurses --abi-version echos the ABI version of ncurses --mouse-version echos the mouse-interface version of ncurses --bindir echos the directory containing ncurses programs --datadir echos the directory containing ncurses data --includedir echos the directory containing ncurses header files --libdir echos the directory containing ncurses libraries --mandir echos the directory containing ncurses manpages --terminfo echos the $TERMINFO terminfo database path, e.g., /usr/share/terminfo --terminfo-dirs echos the $TERMINFO_DIRS directory list, e.g., /etc/terminfo:/lib/terminfo:/usr/share/terminfo --termpath echos the $TERMPATH termcap list, if support for termcap is configured. --help prints this message SEE ALSO
curses(3X) This describes ncurses version 5.9 (patch 20110404). ncursesw5-config(1)
All times are GMT -4. The time now is 11:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy