11-19-2013
Help required regarding variable expansion in UNIX
Hello,
I have one variable coming from one file:
abc=$xyz/filename.txt where $xyz is defined in .profile file as say, /usr/dev/src
i am passing abc variable to one perl script as input parameter.
perl 123.pl -s $abc
But inside the perl script execution, the variable $abc is just expanding to $xyz/filename.txt but not to /usr/dev/src/filename.txt
Because of this perl script is failing saying $xyz/filename.txt file not found.
Can any one please let me know, how can i expand the unix variable completely before passing it to perl script.
Shell - KSH (/usr/bin/ksh)
OS - SunOS 5.10
Thanks in Advance
Vikas
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
We have a script that runs in ksh on HP-UX 11.11. It takes three arguments. The last argument can be a filename or wildcard character. For example:
script -s hello -t goodbye '*.d*'
In a case such as this, I would wrap single quotes around the final argument because I dont want the shell to... (4 Replies)
Discussion started by: dangral
4 Replies
2. Shell Programming and Scripting
#!/usr/bin/bash
if
then
echo "Not valid arguments entered. Just username should be entered."
else
USER_NAME=$1
FILE_NAME=$USER_NAME.info
UNN=STUDIN\\\\$1
echo $UNN
last STUDIN\\\\$1
last UNN
If I type `last STUDIN\\eip060` it works but if I try to expand it with variable it is... (5 Replies)
Discussion started by: Zammy_bg
5 Replies
3. Shell Programming and Scripting
Hello -
I have a bash script which does some logging, and I'd like to include the line number of the echo statement that pipes into $LOGGER:
MYPID=$$
MYNAME=`basename $0`
LOGGER="/usr/bin/logger -t $MYNAME($LINENO) -p daemon.error"
...
echo 'this is an entry into the log file' | $LOGGER
... (3 Replies)
Discussion started by: scandora
3 Replies
4. UNIX for Dummies Questions & Answers
I'm in the habit of using the following type of loop structure:
for num in `seq $1 $2`
do
command
doneWhile `seq $1 $2` is not exactly a huge resource hog, I would like to learn a better way. It seems that brace expansion is a good way to go:
for num in {3..10}The problem, though, is... (2 Replies)
Discussion started by: treesloth
2 Replies
5. Shell Programming and Scripting
i write a batch file , here is the content.
dirname='date +%Y-%m-%d'
mkdir dirname
but it doen's work, it just create a folder named date and +%Y-%m-%d.
i have tried run the command seperately in the bash prompt. after the first
sentence executed , i use $dirname to watch the value of... (4 Replies)
Discussion started by: premotheus
4 Replies
6. Shell Programming and Scripting
The objective of the code below is to create sed script to be later executed. However, it bonks because $ARCHIVENAME expands to a directory specification so the forward slashes cause problems. I can think of a few solutions that would involve redesigning the process, but I'm hoping there might be... (4 Replies)
Discussion started by: tiggyboo
4 Replies
7. Shell Programming and Scripting
Hi forum,
in my bash script I've many lines executing commands with redirection to log files.
...
xyz_cmd 2>&1 > $BASENAME.$LINENO
The trailing part of these lines doesn't look nice and I like to put it into a variable.
The (not working) idea is something like that
... (3 Replies)
Discussion started by: wolfi089
3 Replies
8. UNIX for Dummies Questions & Answers
So, I was bored on the train today, and was thinking of ways to loop through elements of an array. I came up with the following simple script, but it doesn't work as brace expansion doesn't seem to work with variables. Is there something I'm missing, or does the shell just not work like this?
... (4 Replies)
Discussion started by: DeCoTwc
4 Replies
9. Shell Programming and Scripting
Hello,
I use a lot this command to edit a bunch of files at once
find . -name filename" | xargs -ifoo sh -c 'echo foo ; sed "s/pattern1/pattern2/" foo > ./tmp ; mv -f ./tmp foo'
I'm trying to put a function on my .bashrc file.
function loopSed()
{
local filename=$1
local... (2 Replies)
Discussion started by: phollox
2 Replies
10. Shell Programming and Scripting
Hello.
The file /etc/fstab contains
UUID=957c3295-9944-1593-82e2-2b90dede4312 / ext4 noatime,discard,acl,user_xattr 1 1
I fill a variable
SOME_LINE=$( cat /etc/fstab | grep \/\..*ext4 | grep noatime,discard )echo $SOME_LINE... (3 Replies)
Discussion started by: jcdole
3 Replies
LEARN ABOUT DEBIAN
readproctitle
readproctitle(8) System Manager's Manual readproctitle(8)
NAME
readproctitle - maintains an automatically rotated log in memory for inspection by ps(1).
readproctitle is available in daemontools 0.75 and above.
SYNOPSIS
readproctitle L D
DESCRIPTION
L consists of any number of arguments. D is one argument consisting of at least five dots.
readproctitle reads data into the end of D, shifting D to the left to make room. This means that the most recent data is visible to
process-listing tools such as ps(1). readproctitle always leaves three dots at the left of D.
For example, if
readproctitle io errors: ....................
reads the data
fatal error xyz
warning abc
then its command-line arguments change to
readproctitle io errors: ... xyz!warning abc!
with a newline character in place of each !. Process-listing tools typically show the newline character as ? or
.
readproctitle exits when it reaches the end of input.
Beware that most implementations of ps(1) have small argument-length limits. These limits apply to the total length of readproctitle L D.
I have not seen a system with a limit below 512 bytes.
SEE ALSO
supervise(8), svc(8), svok(8), svstat(8), svscanboot(8), svscan(8), fghack(8), pgrphack(8), multilog(8), tai64n(8), tai64nlocal(8), setu-
idgid(8), envuidgid(8), envdir(8), softlimit(8), setlock(8), ps(1)
http://cr.yp.to/daemontools.html
http://cr.yp.to/slashcommand.html
readproctitle(8)