Tagged Questions
2
votes
3answers
78 views
Very strange behavior with grep and IFS
I'm having trouble using grep, the returned results are "n-empty", I mean without the 'n' character...
This is the script sample :
OLDIFS=$IFS
IFS="\\n"
i=$(grep -ril $1 *)
echo $i
IFS=$OLDIFS
...
4
votes
5answers
112 views
How to use ' in alias?
I have one-line that I want to call using alias.
while printf '%s ' "$(df -P / | awk 'NR==2 { print $(NF-1) }')"; do sleep 30; done
I tried to escape ' like \' but it didn't work.
What is the ...
5
votes
2answers
99 views
When is double-quoting necessary?
The old advice used to be to double-quote any expression involving a $VARIABLE, at least if one wanted it to be interpreted by the shell as one single item, otherwise, any spaces in the content of ...
2
votes
2answers
93 views
How to pass the output of a script to a command like ls without the output being split?
Suppose I have a script like this:
#!/bin/bash
printf '%q\n' "b c"
Executing the script prints:
b\ c
on the commandline.
Now, being in a directory which contains a file named b c I want to pass ...
3
votes
3answers
145 views
Zsh function with su and echo
I'm trying to add a function to my .zshrc that makes adding new USE flags to my /etc/portage/package.use file easier. Normally, I'd have to do
su -c 'echo "net-misc/aria2 bash-completion bittorrent" ...
1
vote
0answers
68 views
How to make tcsh not insert whitespace in a command that spans multiple lines
Bash does not seem to insert whitespace but tcsh does.
Tcsh
bash-3.2.25$ tcsh -c 'echo $tcsh; echo A\
> B'
6.14.00
A B
Bash
bash-3.2.25$ bash -c 'echo A\
> B'
AB
How can I ask tcsh to not insert ...
3
votes
1answer
131 views
Printing colored text using script
When I type below command in the shell I get the OUTPUT in green color.
Command
echo "\033[32mCONNECTING TO abpwrk\033[m";
Output(in green color)
CONNECTING TO abpwrk
But if I use the same ...
1
vote
2answers
122 views
run bash in script
I want to creat a script to run an another script with a several parameter
exp=([1]=bloc [2]=ins [3]=rep [4]=op)
for j in ${!exp[*]}
do
arr=([1]=mem [2]=gen [3]=usr)
for i in ${!arr[*]}
...
11
votes
3answers
928 views
What does it mean to have a $“dollarsign-prefixed string” in a script?
I just saw this in an init script:
echo $"Stopping Apache"
What is that dollar-sign for?
My research so far:
I found this in the bash manual:
extquote
If set, $'string' and ...
2
votes
1answer
188 views
Command substitution: file or command not found
The following script
#!/bin/bash
QUERY='select * from cdr;'
MYROWS=$("sqlite3 -list -nullvalue NULL -separator ',' /var/log/asterisk/master.db '${QUERY}'")
gives me
./bla.sh: row 35: sqlite3 -list ...
19
votes
2answers
648 views
Why escape trivial characters in shell script?
I just opened a legacy shell script (written in old ksh88 on Solaris) and found the following repeated all throughout the code:
[ -f $myfile ] && \rm -f $myfile
The escaping backslash ...
2
votes
2answers
210 views
Shell script output incorrectly splitting while being passed as an argument to script
Let's say I have the following two shell scripts:
#!/bin/sh
#This script is named: args.sh
echo 1 "\"Two words\"" 3
, and:
#!/bin/sh
#This script is named: test.sh
echo "Argument 1: "$1
echo ...
6
votes
3answers
7k views
What characters do I need to escape when using sed in a sh script?
Take the following script:
#!/bin/sh
sed 's/(127\.0\.1\.1)\s/\1/' [some file]
If I try to run this in sh (dash here), it'll fail because of the parentheses, which need to be escaped. But I don't ...
0
votes
1answer
227 views
Shell script to check server state
I am writing a script that would ssh into the VMWare server and check if the VMs are up or not. There's some error in the server=awk "/$i/{print $2}" /home/dharmit/scripts/vmids line. I am getting ...
3
votes
1answer
1k views
Bash: Merge foldername from variable with filename
First I write a configfile with all my parameters like this
path="/home/test/"
I name it test.conf.
Then I write a shell script with this content, name it test, and make it executable with chmod ...
3
votes
2answers
769 views
Ignore escape characters when printing string in shell script
I just wrote a simple shell script to save a LaTeX expression as a PNG file. It works fine, except for the LaTeX-syntax for "next row", i.e. the double backslash \\.
When for instance my input ...
2
votes
3answers
354 views
variable concatenation not working?
I have a simple bash shell script which is driving me bonkers. All I want to do is run a command which returns a result which I will then use in another command. The result of the first command ...
4
votes
3answers
2k views
Why the double quotes and backquotes in a shell script?
I'm looking at this script mysql backup script and I don't understand what is the reason for using both backticks and double quotes around command names?
379 WHICH="`which which`"
380 AWK="`${WHICH} ...
1
vote
2answers
446 views
Creating an empty file having a variable name in a script
I need to create an empty file using a shell script. The filename will be determined by examining all the files in a directory matching a pattern, say TEST.*, and appending _END to it so that the new ...
23
votes
2answers
1k views
$VAR vs ${VAR} and to quote or not to quote
I can write
VAR=$VAR1
VAR=${VAR1}
VAR="$VAR1"
VAR="${VAR1}"
the end result to me all seems about the same. Why should I write one or the other? are any of these not portable/POSIX?