01-19-2017
See, I don't think that actually helps you. There are systems where echo -e literally prints -e. Theoretically this script could detect and warn you when your code is broken, but it doesn't actually make your code portable. There's places -e is needed, places it's not, and places where echo never does what you want.
If you want your script to be portable, write it portably.
There is a command which handles escapes properly everywhere, in every shell: printf. Rewrite using printf instead of echo -e. Just a blind substitution won't work of course, you need to add an \n.
As an alternative for grep -o , awk.
Last edited by Corona688; 01-19-2017 at 06:36 PM..
This User Gave Thanks to Corona688 For This Post:
10 More Discussions You Might Find Interesting
1. HP-UX
I am new to HP-UX.
I have an 8GB drive that is my root drive, contained in a Volume Group.
I would like to clone that drive to another drive, which is 18.4GB. The other drive is not in a volume group.
I am using this simple command:# dd if=/dev/dsk/c0t6d0 of=/dev/dsk/c0t5d0The command... (4 Replies)
Discussion started by: emsecrist
4 Replies
2. UNIX for Dummies Questions & Answers
Hi
I need to know if I have got the following grep command correct. I wanted to find from myfile.txt all signed real numbers (e.g. +5.0, -78, but not 5.0, 5 are not).
I have thought about it and decided it was this:
grep '' myfile.txt
but I was wondering if this was correct. If... (2 Replies)
Discussion started by: rushhour
2 Replies
3. Shell Programming and Scripting
We have script like this in the .bash_profile..
#-# determine if session is interactive or in background
if ]; then
while true; do
read -p "Do you wish to load profile yes or no?" yn
case $yn in
* ) source /opt/oracle/.profile; break;;
* ) break;;
*... (2 Replies)
Discussion started by: talashil
2 Replies
4. Shell Programming and Scripting
Hi guys,
i've wrote the following loop;
for i in `ls`
do
cd $i/host
cat "xxxx.txt" |grep "yyyy" >> zzzz.txt
done
I have a set of folder with different name and i need to extract a value from a file contained in the host subfolder ( that is present in each folder).
When i run... (4 Replies)
Discussion started by: cecco16
4 Replies
5. UNIX for Advanced & Expert Users
I was trying to copy all debs from apt cache to some storage location and I was taking this approach...
/var/cache/apt/archives# ls -1 | grep -v jdownloader | fgrep .deb | xargs cp /media/eshant/L-STORE/Softwares/openjdk/an error bla_bla.deb is a not directory stalled me
Suggestions please... (9 Replies)
Discussion started by: ezee
9 Replies
6. Post Here to Contact Site Administrators and Moderators
Hi All,
There are list of 4-5 .csv files which has 12 columns.In some cases one of the record is split into 2 records. What needs to be done is this split record has to be auto corrected and placed in the csv file.
Eg:
Let us consider sample.csv file and in normal conditions the file... (1 Reply)
Discussion started by: karthik_ak
1 Replies
7. Shell Programming and Scripting
Hi All,
There are list of 4-5 .csv files which has 12 columns.In some cases one of the record is split into 2 records. What needs to be done is this split record has to be auto corrected and placed in the csv file.
Eg:
Let us consider sample.csv file and in normal conditions the file would... (40 Replies)
Discussion started by: karthik_ak
40 Replies
8. UNIX for Dummies Questions & Answers
Hi all,
I am newbie to linux environment. I was trying to run an .so file manually which in turn call a method in bin folder.
Command given,
XXX_MODULES=libxxx.so /opt/servicename/bin/methodname -Le -c /opt/servicename/etc/methodname/methodname.conf -n -C -t -m ""
When i tried to... (1 Reply)
Discussion started by: sharathpadman
1 Replies
9. UNIX for Advanced & Expert Users
Hi all,
I am newbie to linux environment. I was trying to run an .so file manually which in turn call a method in bin folder.
Command given,
XXX_MODULES=libxxx.so /opt/servicename/bin/methodname -Le -c /opt/servicename/etc/methodname/methodname.conf -n -C -t -m ""
When i tried to execute... (1 Reply)
Discussion started by: sharathpadman
1 Replies
10. Shell Programming and Scripting
Hi,
I am logged into as root & inside the home directory of another user.
ls -a
# ls -laq
total 44
drwx------ 4 user1 adm 4096 Nov 23 05:10 .
drwxr-xr-x. 12 root root 4096 Nov 22 13:05 ..
-rw-r--r-- 1 user1 adm 18 Nov 22 13:05 .bash_logout
-rw-r--r-- 1 user1 adm 193 Nov... (2 Replies)
Discussion started by: mohtashims
2 Replies
LEARN ABOUT OPENSOLARIS
escape
escape(1) Mail Avenger 0.8.3 escape(1)
NAME
escape - escape shell special characters in a string
SYNOPSIS
escape string
DESCRIPTION
escape prepends a "" character to all shell special characters in string, making it safe to compose a shell command with the result.
EXAMPLES
The following is a contrived example showing how one can unintentionally end up executing the contents of a string:
$ var='; echo gotcha!'
$ eval echo hi $var
hi
gotcha!
$
Using escape, one can avoid executing the contents of $var:
$ eval echo hi `escape "$var"`
hi ; echo gotcha!
$
A less contrived example is passing arguments to Mail Avenger bodytest commands containing possibly unsafe environment variables. For
example, you might write a hypothetical reject_bcc script to reject mail not explicitly addressed to the recipient:
#!/bin/sh
formail -x to -x cc -x resent-to -x resent-cc
| fgrep "$1" > /dev/null
&& exit 0
echo "<$1>.. address does not accept blind carbon copies"
exit 100
To invoke this script, passing it the recipient address as an argument, you would need to put the following in your Mail Avenger rcpt
script:
bodytest reject_bcc `escape "$RECIPIENT"`
SEE ALSO
avenger(1),
The Mail Avenger home page: <http://www.mailavenger.org/>.
BUGS
escape is designed for the Bourne shell, which is what Mail Avenger scripts use. escape might or might not work with other shells.
AUTHOR
David Mazieres
Mail Avenger 0.8.3 2012-04-05 escape(1)