02-27-2013
Unexpected command/filename substitution ( caused by alias?)
Hi:
there is a shell script, with the name "foo", located in a bin directory. in the same time, there is an alias "foo='/path/bin/foo' ", just for convenience.
in my home directory, there is a different script with name "foo" too. (a modified version.)
while in my home directory, when I do:
>$ cat foo
my local "foo" is displayed, as expected.
but if I do:
>$ source foo,
the common "/path/bin/foo" gets picked up, not my local one, as if the alias "foo" kicks in and substitutes the common "foo" for my local one.
to source my local "foo", I have to explicitly say:
>$ source ./foo
what I don't get is, the "foo" is the filename argument for both "cat" and "source" commands, but why the "foo" alias seemingly kicks in in "source" command, not the "cat" command.
Could any one shed some light on this?
Thanks.
NB Phil
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
Hi,
i want to make alias for rm command. It should actually move the file to a directory in my home.
Say if i type
%rm abc.txt
the command should expand to
%mv abc.txt ~ashishp/trash
How should I write the alias for this?
-Ashish (8 Replies)
Discussion started by: shriashishpatil
8 Replies
2. UNIX for Dummies Questions & Answers
I installed Red Hat Enterprise Linux 5 on my PC. When i typed 'emacs' on the console, "command not found" error occurrd. Why.
:mad: (1 Reply)
Discussion started by: cy163
1 Replies
3. Shell Programming and Scripting
Dear all,
When I tried to run receive.sh,it returned following errors.
syntax error near unexpected token `do
#!/usr/bin/ksh
GlobalValueReceive=r
GlobalValueWorking=w
GlobalValueTemp=t
$exec 0<Property
while read LineInProperty
do
if
then
$GlobalValueReceive =... (8 Replies)
Discussion started by: joshuaduan
8 Replies
4. UNIX for Advanced & Expert Users
Hi
'm executing a java program from my shell script on solaris 9 as
$JAVA_HOME\bin\java -ms32m -mx128m -classpath $CLASSPATH com.abc.fwk,abcServer.abcfwkServer $1 &
where $1 is port number
when i do ps -ef, it shows whole command , i want to give this some alias name as abcProcess, so... (2 Replies)
Discussion started by: b_garima
2 Replies
5. UNIX for Dummies Questions & Answers
Hello,
in my .bashrc I tried to setup some aliases.
alias scp_cmd="scp -P 8888 $1 me@somehost:."
is supposed to copy a local file to somehost via scp. However it seems that the command line substitution does not work here. However this works:
alias lst="ls -l $1"
The above scp command can... (1 Reply)
Discussion started by: strobotta
1 Replies
6. Shell Programming and Scripting
Hi.
I´ve a script that should substitude the 8th line in a file called xxx.num6.
The "xxx" is set by an array filled with this command:
j=0
for Par in *.sys ; do
Par=`echo $Par | sed 's/\(.*\).sys/\1/'` ;
Par2="$Par" ; echo "${Par2}"
j=$((j + 1));
done
Now i try... (0 Replies)
Discussion started by: Lock3
0 Replies
7. UNIX for Dummies Questions & Answers
I know this script is crummy, but I was just messing around.. how do I get sed's insert command to allow variable expansion to show the filename?
#!/bin/bash
filename=`echo $0`
/usr/bin/sed '/#include/ {
i\
the filename is `$filename`
}' $1
exit 0 (8 Replies)
Discussion started by: glev2005
8 Replies
8. UNIX for Dummies Questions & Answers
Hi:
How can I remove my own post?
Thanks. (2 Replies)
Discussion started by: phil518
2 Replies
9. UNIX for Dummies Questions & Answers
Hey, guys!
Trying to research this is such a pain since the read command itself is a common word. Try searching "unix OR linux read command examples" or using the command substitution keyword. :eek:
So, I wanted to use a command statement similar to the following.
This is kinda taken... (2 Replies)
Discussion started by: ProGrammar
2 Replies
10. Shell Programming and Scripting
Hello,
I'm attempting to configure shell settings in my new Macbook. The standard unix command line 'alias' doesn't seem to be working:
bash-3.2$ alias dir ls -la
bash: alias: dir: not found
bash: alias: ls: not found
bash: alias: -la: not found
bash-3.2$ alias dir 'ls -la'
bash:... (1 Reply)
Discussion started by: palex
1 Replies
LEARN ABOUT DEBIAN
gpt-install
GPT-INSTALL(8) User Contributed Perl Documentation GPT-INSTALL(8)
NAME
gpt-install - Installs GPT packages.
SYNOPSIS
gpt-install [options] [packages or bundles]
Options:
-verbose Print copious output
-help Print usage
-man Print man page.
-version Print GPT version.
-force Replace package no matter what.
-loose Replace a broader range of packages.
-installdir=PATH Override $GLOBUS_LOCATION.
-tmpdir=PATH Path to tmp disk space
[packages or bundles] List of binary packages and bundles to install.
DESCRIPTION
gpt-install takes a GPT described package or bundle and installs it. The program can install either RPM's or GPT packages.
OPTIONS
-force forces all action to be taken, regardless of state.
-tmpdir Place to unpack bundles.
-installdir
Directory to which files shall be written. Default is $GLOBUS_LOCATION
-loose pgm packages can replace a pgm_static package (and vice versa) or a pgm package with a different flavor.
-help Print a brief help message and exits.
-man Prints the manual page and exits.
-version
Prints the version of GPT and exits.
EXAMPLES
For the command:
gpt-install foo-2.1-gcc32-pgm.tar.gz
foo-1.1-gcc32-pgm will be replaced.
foo-2.2-gcc32-pgm will B<not> be replaced. It is newer.
foo-1.1-vendorcc32-pgm will B<not> be replaced. Wrong flavor.
foo-1.1-gcc32-pgm_static will B<not> be replaced. Wrong package type
foo-2.2-gcc32-pgm_static will B<not> be replaced. Wrong package type
For the command:
gpt-install -force foo-2.1-gcc32-pgm.tar.gz
foo-1.1-gcc32-pgm will be replaced.
foo-2.2-gcc32-pgm will be replaced.
foo-1.1-vendorcc32-pgm will B<not> be replaced. Wrong flavor
foo-1.1-gcc32-pgm_static will B<not> be replaced. Wrong package type
foo-2.2-gcc32-pgm_static will B<not> be replaced. Wrong package type
For the command:
gpt-install -loose foo-2.1-gcc32-pgm.tar.gz
foo-1.1-gcc32-pgm will be replaced.
foo-2.2-gcc32-pgm will B<not> be replaced. It is newer.
foo-1.1-vendorcc32-pgm will be replaced.
foo-1.1-gcc32-pgm_static will be replaced.
foo-2.2-gcc32-pgm_static will B<not> be replaced. It is newer.
For the command:
gpt-install -force -loose foo-2.1-gcc32-pgm.tar.gz
foo-1.1-gcc32-pgm will be replaced.
foo-2.2-gcc32-pgm will be replaced.
foo-1.1-vendorcc32-pgm will be replaced.
foo-1.1-gcc32-pgm_static will be replaced.
foo-2.2-gcc32-pgm_static will be replaced.
BUGS
gpt-install currently does not honor static build numbers. Instead it will replace any pgm_static package that is the same version or
older. For example:
gpt-install -force foo-2.1-2-gcc32-pgm_static.tar.gz
foo-1.1-5-gcc32-pgm_static will be replaced.
foo-2.1-1-gcc32-pgm_static will be replaced.
foo-2.1-5-gcc32-pgm_static will be replaced.
foo-2.2-1-gcc32-pgm_static will not be replaced.
foo-2.1-gcc32-pgm will not be replaced.
SEE ALSO
gpt-uninstall(1) gpt-query(1) gpt-verify(1)
AUTHOR
Michael Bletzinger <mbletzin.ncsa.uiuc.edu> and Eric Blau <eblau.ncsa.uiuc.edu>
perl v5.14.2 2012-04-30 GPT-INSTALL(8)