08-14-2008
variables in sed
Using variables in sed scripts is tricky, and it looks like you're caught on the first step.
Ever program in C? When this command runs:
sed -e 's/$source/$target/g' $remotedir/$source.mg
think about the values of argv.
What I imagine you WANT is for argv[2] to be something like:
s/\/old\/directory\/oldfile/\/new\/directory\/newfile/
What you HAVE is:
s/$source/$target/g
Because you're using single quotes, not double quotes, and sh isn't expanding those variables.
So the first step is to switch those single quotes to double quotes,
"s/$foo/$bar/g"
The next step is to make sure $foo and $bar don't contain any stray '/' characters that are going to confuse sed.
Best of luck!
The problem here is: 's/$source/$target/g'
---
for after in `cat after.conf`
do
echo $target
$adminssh sed -e 's/$source/$target/g' $remotedir/$source.mg > $target.mg
done
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
The script startserver.sh has permissions to execute.
Still the nohup command returns error with 'No such file or directory'
Any sugggestions:
$ nohup ./startserver.sh &
Error
$ nohup: appending output to `nohup.out'
nohup: cannot run command `./startserver.sh': No such file or... (4 Replies)
Discussion started by: hemangjani
4 Replies
2. Shell Programming and Scripting
Hello all,
I have a relatively simple script I wrote to generate a count of errors broken down. What I would like to do is execute this script from another server so that I don't actually have to log in to the server to run the check.
The script on what we'll call "Server A" is:
... (2 Replies)
Discussion started by: DeCoTwc
2 Replies
3. Shell Programming and Scripting
Hey fellows,
i've got a probkem while executing a command through a scheduled at-job;
Somehow my script starts looping, when triggered throug at;
It doesnt do so if started manually.
Any ideas?
#!/bin/sh
# atrun uid=33 gid=33
# mail www-data 0
umask 22
cd /var/django/webripper/ripper... (2 Replies)
Discussion started by: viktor4124
2 Replies
4. Shell Programming and Scripting
Hi Friends,
When I try to execute one of my script script1.shl, I am getting the error message as "/tmp/sh1871978.13: cannot create" .
I could not find the specified sh* file in the /tmp directory and I also checked the disk space of /tmp and it is only 60% filled.
Please help me on... (5 Replies)
Discussion started by: mr_manii
5 Replies
5. UNIX for Dummies Questions & Answers
Hi i m writing a script which will fetch data from different machines and display it on single terminal.
I have created a file named SERVERNAMES containing ip address of machines i need to monitor.
Then for every IP i m issuing ssh command to get date on that machine.
However When i m trying... (3 Replies)
Discussion started by: pinga123
3 Replies
6. Shell Programming and Scripting
Hi All,
i have two machines like x and y . my requirement is i should connect to machine Y from x through ssh connection . and do some operation such as copy and move and delete files in Y machine .
i tried with this code but it is doing in machine x only . and i need to exit from Y when... (1 Reply)
Discussion started by: rateeshkumar
1 Replies
7. Shell Programming and Scripting
Hi i am getting stuck while executing the script in the below line .Please help me out
if ;then
Name=`grep -i $Size $FILE|awk '{print $(NF-1),$NF}' |head -1`
else
Name="$Nam"
fi (3 Replies)
Discussion started by: soumyamishra
3 Replies
8. Shell Programming and Scripting
Greetings, i've been working with a user-friendly menu on ksh to allow users execute scripts located on a remote server, so they wont have to login and manually launch those scripts every single time.
This is a HP-UX box and currently on a /usr/bin/ksh shell.
I've setup ssh keys on both... (1 Reply)
Discussion started by: nbriozzo
1 Replies
9. Linux
How to execute a script in remote machine through ssh
I have a script test.sh which does some backup activity in remote machine. Wanted to keep backup also in remote machine.
ssh -l username <remote machine> "commands to be exceuted as ; separted"
but how to put the script in the place of... (5 Replies)
Discussion started by: sanvel
5 Replies
10. Shell Programming and Scripting
I have worked on multiple scenarios to execute remote script via ssh.
This problem I am not able to resolve.
2 linux hosts. Server1, Server2
on Server1 I have script called ~/scripts/start_standalone.sh
XXXX
cd $JBOSS_HOME
NODENAME=xyz; IP_ADDR=`hostname`; MGMT_IPADDR=`hostname`;... (3 Replies)
Discussion started by: oraclermanpt
3 Replies
LEARN ABOUT CENTOS
dh_link
DH_LINK(1) Debhelper DH_LINK(1)
NAME
dh_link - create symlinks in package build directories
SYNOPSIS
dh_link [debhelperoptions] [-A] [-Xitem] [sourcedestination...]
DESCRIPTION
dh_link is a debhelper program that creates symlinks in package build directories.
dh_link accepts a list of pairs of source and destination files. The source files are the already existing files that will be symlinked
from (called target by ln(1)). The destination files are the symlinks that will be created (called link name by ln(1)). There must be an
equal number of source and destination files specified.
Be sure you do specify the absolute path to both the source and destination files (unlike you would do if you were using something like
ln(1)). Please note that the leading slash is optional.
dh_link will generate symlinks that comply with Debian policy - absolute when policy says they should be absolute, and relative links with
as short a path as possible. It will also create any subdirectories it needs to put the symlinks in.
Any pre-existing destination files will be replaced with symlinks.
dh_link also scans the package build tree for existing symlinks which do not conform to Debian policy, and corrects them (v4 or later).
FILES
debian/package.links
Lists pairs of source and destination files to be symlinked. Each pair should be put on its own line, with the source and destination
separated by whitespace.
In each pair the source file (called target by ln(1)) comes first and is followed by the destination file (called link name by ln(1)).
Thus the pairs of source and destination files in each line are give in the same order as they would be given to ln(1).
In contrast to ln(1), source and destination paths must be absolute (the leading slash is optional).
OPTIONS
-A, --all
Create any links specified by command line parameters in ALL packages acted on, not just the first.
-Xitem, --exclude=item
Exclude symlinks that contain item anywhere in their filename from being corrected to comply with Debian policy.
source destination ...
Create a file named destination as a link to a file named source. Do this in the package build directory of the first package acted on.
(Or in all packages if -A is specified.)
EXAMPLES
dh_link usr/share/man/man1/foo.1 usr/share/man/man1/bar.1
Make bar.1 be a symlink to foo.1
dh_link var/lib/foo usr/lib/foo
usr/share/man/man1/foo.1 usr/share/man/man1/bar.1
Make /usr/lib/foo/ be a link to /var/lib/foo/, and bar.1 be a symlink to the foo.1
var/lib/foo usr/lib/foo
usr/share/man/man1/foo.1 usr/share/man/man1/bar.1
Same as above but as content for a debian/package.links file.
SEE ALSO
debhelper(7)
This program is a part of debhelper.
AUTHOR
Joey Hess <joeyh@debian.org>
11.1.6ubuntu2 2018-05-10 DH_LINK(1)