I am trying below command to be passed in a shell script, header_date_14 is a variable and $1 is the name of a file I intend to pass as a command line argument, however command line argument is not being accepted.
You should never NEVER use constructs like $1 directly in your code. You see, $1, $2, etc. are positional parameters, not variables. $1 isn't the name of a variable just happening to have the name "1", like "$foo", it is the first parameter passed to this specific context - and what "this specific context" means can change (and does so) from context to context.
Therefore instead of doing:
do it like this:
This also gives you the opportunity to give a meaningful name to the variable like "inputfile", instead of "$1", which won't tell you by its name what it is supposed to contain.
Hi
I am trying to write a function that needs to be able to assign the last run shell command to a variable. The actual command string itself not the exit code of the command.
I am using the bash command recall ability to do this as follows:
alias pb='ps | grep ash' ... (3 Replies)
Hi,
I am new to UNIX Scripting. I have been trying to use the CUT command to retrieve part of the header from a file and assign it to a variable. I have tried searching a lot, but I am still unsuccessful.
Sample Header: HJAN BALANCE 20090616
I need to retrieve the date here, which always... (10 Replies)
Hi ,
I would like to assign command (with pipe) output to a variable. The code is as follows. The goal of the code is to get the last folder folder with a particular name pattern.
myDate=`ls | grep 2009 | tail -1`
echo "myDate=" $myDate
However, in the presence of the pipe, the code... (3 Replies)
Dear All,
we have a command output which looks like :
Total 200 queues in 30000 Kbytes
and we're going to get "200" and "30000" for further process. currently, i'm using :
numA=echo $OUTPUT | awk '{print $2}'
numB=echo $OUTPUT | awk '{print $5}'
my question is : can I use just one... (4 Replies)
Hi all,
Hereby wish to have your advise for below:
Main concept is
I intend to get current directory of my script file.
This script file will be copied to /etc/init.d.
A string in this copy will be replaced with current directory value.
Below is original script file:
... (6 Replies)
Code
set -x
STATUS="0"
echo $STATUS
for i in `ls -ltr Report*|awk '{ print $9 }'`
do
if
then
flg = "`head -1 "$i" |cut -c 31-33`"
echo `head -1 "$i" |cut -c 31-33`
echo $flg
if
then
echo "having Fun"
STATUS="2"
else
echo "no Fun"
fi
fi (2 Replies)
Hi,
I have the following command that lists all the .o files from all the directories except of vwin (which I don't want it)
for i in `ls -d */*.o|awk '$0 !~ "vwin"'`; do echo $i; done
The result is something like that
dir1/file1.o
dir1/file2.o
dir2/file3.o
etc.
So, I want to create a... (9 Replies)
I have the following script, and I want to assign the output ($10 and $5) from awk to N and L:
grdinfo data.grd | awk '{print $10,$5}'| read N L
output from gridinfo data.grd is: data.grd 50 100 41 82 -2796 6944 0.016 0.016 3001 2461. where N and L is suppose to be 3001 and 100. I use... (8 Replies)
Hi,
I have the script below. When i assign SSH_COMMAND to "ssh -o ConnectTimeout=2 ${SERVER} ${AS_SUDO} ${COMMANDS}" and then execute it as ${SSH_COMMAND} I get the following error:
ssh: Could not resolve hostname sudo: Name or service not known
ssh: Could not resolve hostname sudo: Name or... (3 Replies)
Discussion started by: mohca2020
3 Replies
LEARN ABOUT OPENDARWIN
uplevel
uplevel(n) Tcl Built-In Commands uplevel(n)
__________________________________________________________________________________________________________________________________________________NAME
uplevel - Execute a script in a different stack frame
SYNOPSIS
uplevel ?level? arg ?arg ...?
_________________________________________________________________DESCRIPTION
All of the arg arguments are concatenated as if they had been passed to concat; the result is then evaluated in the variable context indi-
cated by level. Uplevel returns the result of that evaluation.
If level is an integer then it gives a distance (up the procedure calling stack) to move before executing the command. If level consists
of # followed by a number then the number gives an absolute level number. If level is omitted then it defaults to 1. Level cannot be
defaulted if the first command argument starts with a digit or #.
For example, suppose that procedure a was invoked from top-level, and that it called b, and that b called c. Suppose that c invokes the
uplevel command. If level is 1 or #2 or omitted, then the command will be executed in the variable context of b. If level is 2 or #1
then the command will be executed in the variable context of a. If level is 3 or #0 then the command will be executed at top-level (only
global variables will be visible).
The uplevel command causes the invoking procedure to disappear from the procedure calling stack while the command is being executed. In
the above example, suppose c invokes the command
uplevel 1 {set x 43; d}
where d is another Tcl procedure. The set command will modify the variable x in b's context, and d will execute at level 3, as if called
from b. If it in turn executes the command
uplevel {set x 42}
then the set command will modify the same variable x in b's context: the procedure c does not appear to be on the call stack when d is
executing. The command ``info level'' may be used to obtain the level of the current procedure.
Uplevel makes it possible to implement new control constructs as Tcl procedures (for example, uplevel could be used to implement the while
construct as a Tcl procedure).
namespace eval is another way (besides procedure calls) that the Tcl naming context can change. It adds a call frame to the stack to rep-
resent the namespace context. This means each namespace eval command counts as another call level for uplevel and upvar commands. For
example, info level 1 will return a list describing a command that is either the outermost procedure call or the outermost namespace eval
command. Also, uplevel #0 evaluates a script at top-level in the outermost namespace (the global namespace).
SEE ALSO
namespace(n), upvar(n)
KEYWORDS
context, level, namespace, stack frame, variables
Tcl uplevel(n)