alias


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers alias
# 1  
Old 04-20-2010
alias

Hi,

I have created alias in UNIX environment (ie in .cshrc file). But when i use the alias in the UNIX script, getting an error message as that is not found. But when i use that alias, outside the script it is working fine.

Let me know if you need more details

For example:
alias cderror 'cd /dun/incompleted/error' in .cshrc file
i am using cderror in my scripts i am getting an error as not found.

--Naveen
# 2  
Old 04-20-2010
When your script runs it opens a new shell where aliases are not available

Run your script as
Code:
. script_name

# 3  
Old 04-20-2010
Hi.

Aliases are not part of your shell's environment in the same way as, say, variables, and as such can't be "exported" like variables.

To use aliases as defined in your .cshrc file you can "source" that file in your script, or put the aliases into a separate file and source that, or explicitly declare the aliases in your script.

i.e.

Code:
$ alias ll
ll='ls -al'

$ cat myScript
ll

$ ./myScript
./myScript: line 1: ll: not found


$ cat myAliases
alias ll='ls -al'

$ cat myScript
. ./myAliases
ll

$ ./myScript
drwxr-xr-x  27 scott  staff    918 20 Apr 23:07 .
drwxr-xr-x  35 scott  staff   1190 20 Apr 07:34 ..
-rwxr-xr-x   1 scott  staff     17 20 Apr 23:07 myScript
-rw-r--r--   1 scott  staff     18 20 Apr 23:06 myAliases

# 4  
Old 04-20-2010
You can also export aliases in KSH and use them in a subshell by adding the -x flag, as long as your script does not call again the interpreter (the hashbang).

Code:
alias -x ll="ls -l"

# 5  
Old 04-20-2010
Quote:
Originally Posted by verdepollo
You can also export aliases in KSH and use them in a subshell by adding the -x flag, as long as your script does not call again the interpreter (the hashbang).

Code:
alias -x ll="ls -l"

Whether that works or not is dependent also on the implementation of fork and exec.

For example on Solaris:
Code:
$ alias -x lsal='ls -al'

$ cat myLS
lsal

$ ./myLS
total 106
drwxr-xr-x  40 root     root        1024 Apr 14 20:08 ..
-rw-r--r--   1 root     root          30 Apr 21 00:08 ogl_select306
-r--r--r--   1 root     root          11 Apr 21 00:08 .X0-lock
drwxrwxrwt   2 root     root         176 Apr 21 00:08 .X11-unix
drwxrwxr-x   2 root     root         176 Apr 21 00:08 .X11-pipe
drwxr-xr-x   2 noaccess noaccess     177 Apr 21 00:08 hsperfdata_noaccess
-rw-r--r--   1 root     root         296 Apr 21 00:10 breg_business_logic_20100421121008806.log
drwxrwxr-x   2 root     root         177 Apr 21 00:10 .ICE-unix
drwxrwxrwt   3 root     root         182 Apr 21 00:10 OraTemp
-rw-r--r--   1 root     root         262 Apr 21 00:10 rootswup.trc
drwxr-xr-x   2 root     root         178 Apr 21 00:10 hsperfdata_root
drwxrwxrwx   2 root     root         184 Apr 21 00:10 .removable
drwxrwxrwt   9 root     sys          956 Apr 21 00:11 .
-rwx------   1 root     root           7 Apr 21 00:14 myLS

BSD:
Code:
$ alias -x lsal='ls -al' 

$ ./myLS
./myLS: line 1: lsal: not found

# 6  
Old 04-21-2010
how do i source the .cshrc file in my script
# 7  
Old 04-21-2010
Hi.

You don't have to. It's loaded if you have

Code:
#!/bin/csh

in the first line of your script.

Can you please show - using CODE TAGS - exactly the alias as defined in your .cshrc file, and the output of
Code:
ls -ld /dun/incompleted/error




Here's what I get:
Code:
% cat .cshrc
echo Hello from .cshrc
alias cdtmp 'cd /tmp'


% cat cshTest
#!/bin/csh
cdtmp
pwd


% ./cshTest
Hello from .cshrc
/tmp

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Alias help

I am creating subversion pre commit hook on linux to run on client side but its not working and throwing an error - alias svnbi="plutil *.plist|grep -v OK; if ; then svn ci -m $1 ; fi" but when I run - (test is $1 here) svnbi test bash: syntax error near unexpected token `test' ... (1 Reply)
Discussion started by: jacki
1 Replies

2. UNIX for Dummies Questions & Answers

Create alias files (not alias commands)

If one: $ find -name 'some expression' -type f > newfile and then subsequently wants to create an alias file from each pathname the find command retrieved and the > placed within 'newfile', how would one do this? Ideally, the newly created alias files would all be in one directory. I am... (3 Replies)
Discussion started by: Alexander4444
3 Replies

3. UNIX for Dummies Questions & Answers

Alias help

I can get the nth line of a file using sed -n 'np' file however all I want to type is "line n file" so I am trying to use alias alias line='sed -n \'&\'' but its not working, how can I make this work Thanks (2 Replies)
Discussion started by: chrisjones
2 Replies

4. UNIX for Dummies Questions & Answers

using alias

I need to login to one server and then switch the user and set a number alias. But i cant modify the .profile file. I have one script avi1.sh $ more avi.sh sudo su - bil sh avi1.sh and in home directory of bil i have avi1.sh that says $ more avi1.sh alias l='ls -ltr' alias b='cd... (7 Replies)
Discussion started by: blackeyed
7 Replies

5. UNIX for Dummies Questions & Answers

alias help

Hello again, what does \!* do int his line alias lookup 'grep -i \!* who.is.who' Thanks! (1 Reply)
Discussion started by: kris888
1 Replies

6. Shell Programming and Scripting

please help me regarding alias

Dear All, I have given alias to run a script which will calculate memory and cpu utilization as "utils" in my bash shell. Even i have given this entry in .profile and .bashrc in my home directory. It is working fine. Now my question is that I want to use this alias in... (17 Replies)
Discussion started by: naree
17 Replies

7. UNIX for Dummies Questions & Answers

alias help

Hi I have a problem when i try to set any thing as alias it works say alias sasa="cd /home/hghgg" but when i close the terminal it does not work (5 Replies)
Discussion started by: shafique
5 Replies

8. HP-UX

alias help

i want to use short cut alias command but its not happening can any on help (4 Replies)
Discussion started by: shafique
4 Replies

9. UNIX for Advanced & Expert Users

using alias...

hi.. i want to make an alias in unix, for using it to change of directory by example: if i am in /dtmp/inp/aux and i want to go to /sybase/bd, i want to make an alias named "bd", to go directally to /sybase/bd (alias bd="cd /sybase/bd") i create it, but when i turn off the conection... (2 Replies)
Discussion started by: DebianJ
2 Replies

10. UNIX for Dummies Questions & Answers

Alias

Hello, I'm a beginner to Unix and I want to create an alias that lists the given directory in long format; the alias should use a pager to display the result. Thanks in advance. (2 Replies)
Discussion started by: guelpth
2 Replies
Login or Register to Ask a Question