Sponsored Content
Top Forums Shell Programming and Scripting Help with understanding of alias Post 302634821 by Roy987 on Thursday 3rd of May 2012 11:23:25 PM
Old 05-04-2012
Help with understanding of alias

Hi, I saw the following explanation about alias in bash from gnu website, but I didn't get the meaning:
Bash always reads at least one complete line of input before executing any of the commands on that line.
Aliases are expanded when a command is read, not when it is executed. Therefore, an alias definition
appearing on the same line as another command does not take effect until the next line of input is read. The
commands following the alias definition on that line are not affected by the new alias. This behavior is also an
issue when functions are executed. Aliases are expanded when a function definition is read, not when the
function is executed, because a function definition is itself a compound command. As a consequence, aliases
defined in a function are not available until after that function is executed. To be safe, always put alias
definitions on a separate line, and do not use alias in compound commands.

especially the part related with function, can anybody help explain in short sentences cause I am not a English speaker.
Great Thanks.
Roy987
 

9 More Discussions You Might Find Interesting

1. 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

2. 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

3. Shell Programming and Scripting

need help understanding mv

I just started shell coding and I'm a bit confused on how 'mv' works can someone explain to me how it works and if i did this correctly. Thanks. echo "Enter Name of the first file:" read file1 #echo $file1 if ; then echo "Sorry, file does not exist." exit 1 ... (16 Replies)
Discussion started by: taiL
16 Replies

4. UNIX for Dummies Questions & Answers

Help with Alias

Hi, I have a software package consisting of a group of BASH shell scripts. There is a master script which calls a series of subscripts. To run the software users must open the master script, modify and save it, and then run it. To open the script you can either double-click on it, or you can... (2 Replies)
Discussion started by: msb65
2 Replies

5. UNIX for Dummies Questions & Answers

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... (6 Replies)
Discussion started by: Naveen_5960
6 Replies

6. 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

7. UNIX for Dummies Questions & Answers

understanding {%/*}/

Hi Gurus: I am trying to understand the following line of code.I did enough of googling to understand but no luck.Please help me understand the follow chunk of code: X=$0 MOD=${X%/*}/env.ksh X is the current script from which I am trying to execute. Say if X=test.ksh $MOD is echoing :... (3 Replies)
Discussion started by: vemana
3 Replies

8. 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

9. Shell Programming and Scripting

Need your help in understanding this

Hi, I found this in a script and I would like to know how this works Code is here: # var1=PART1_PART2 # var2=${var1##*_} # echo $var2 PART2 I'm wondering how ##* makes the Shell to understand to pick up the last value from the given. (2 Replies)
Discussion started by: sathyaonnuix
2 Replies
alias(1)							   User Commands							  alias(1)

NAME
alias, unalias - create or remove a pseudonym or shorthand for a command or series of commands SYNOPSIS
/usr/bin/alias [alias-name[= string...]] /usr/bin/unalias alias-name... /usr/bin/unalias -a csh alias [name [def]] unalias pattern ksh alias [-tx] [name[= value]...] unalias name... unalias [-a] ksh93 alias [-ptx] [name[= value]...] unalias [-a] [name...] DESCRIPTION
The alias and unalias utilities create or remove a pseudonym or shorthand term for a command or series of commands, with different func- tionality in the C-shell and Korn shell environments. /usr/bin/alias The alias utility creates or redefines alias definitions or writes the values of existing alias definitions to standard output. An alias definition provides a string value that replaces a command name when it is encountered. An alias definition affects the current shell execution environment and the execution environments of the subshells of the current shell. When used as specified by this document, the alias definition does not affect the parent process of the current shell nor any utility envi- ronment invoked by the shell. /usr/bin/unalias The unalias utility removes the definition for each alias name specified. The aliases are removed from the current shell execution environ- ment. The -a option removes all alias definitions from the current execution environment. csh alias assigns def to the alias name. The assigned def is a list of words that can contain escaped history-substitution metasyntax. name is not allowed to be alias or unalias. If def is omitted, the alias name is displayed along with its current definition. If both name and def are omitted, all aliases are displayed. Because of implementation restrictions, an alias definition must have been entered on a previous command line before it can be used. unalias discards aliases that match (filename substitution) pattern. All aliases can be removed by `unalias *'. ksh alias with no arguments prints the list of aliases in the form name=value on standard output. An alias is defined for each name whose value is specified. A trailing space in value causes the next word to be checked for alias substitution. The -t flag is used to set and list tracked aliases. The value of a tracked alias is the full pathname corresponding to the specified name. The value becomes undefined when the value of PATH is reset but the aliases remained tracked. Without the -t flag, for each name in the argument list for which no value is specified, the name and value of the alias is printed. The -x flag is used to set or print exported aliases. An exported alias is defined for scripts invoked by name. The exit status is non-zero if a name is specified, but no value, and no alias has been defined for the name. The aliass specified by the list of names can be removed from the alias list with unalias. ksh93 alias creates or redefines alias definitions or writes the existing alias definitions to standard output. An alias definition provides a string value that replaces a command name when the command is read. Alias names can contain any printable character that is not special to the shell. If an alias value ends in a SPACE or TAB, the word following the command name the alias replaces is also checked to see whether it is an alias. If no names are specified, the names and values of all aliases are written to standard output. Otherwise, for each name that is specified, and =value is not specified, the current value of the alias corresponding to name is written to standard output. If =value is specified, the alias name is created or redefined. alias is built-in to the shell as a declaration command so that field splitting and pathname expansion are not performed on the arguments. Tilde expansion occurs on value. An alias definition only affects scripts read by the current shell environment. It does not affect scripts run by this shell. unalias removes the definition of each named alias from the current shell execution environment, or all aliases if -a is specified. It does not affect any commands that have already been read and subsequently executed. OPTIONS
The following option is supported by unalias: -a Removes all alias definitions from the current shell execution environment. ksh The following option is supported by alias: -t Sets and lists tracked aliases. ksh93 The following options are supported by alias: -p Causes the output to be in the form of alias commands that can be used as input to the shell to recreate the current aliases. -t Specifies tracked aliases. Tracked aliases connect a command name to the command's pathname, and are reset when the PATH variable is unset. The tracked aliases feature is now obsolete. -x Ignored, this option is obsolete. The following option is supported by unalias: -a Causes all alias definitions to be removed. name operands are optional and ignored if specified. OPERANDS
The following operands are supported: alias alias-name Write the alias definition to standard output. unalias alias-name The name of an alias to be removed. alias-name=string Assign the value of string to the alias alias-name. If no operands are specified, all alias definitions are written to standard output. OUTPUT
The format for displaying aliases (when no operands or only name operands are specified) is: "%s=%s " name, value The value string is written with appropriate quoting so that it is suitable for reinput to the shell. EXAMPLES
Example 1 Modifying a Command's Output This example specifies that the output of the ls utility is columnated and more annotated: example% alias ls="ls -CF" Example 2 Repeating Previous Entries in the Command History File This example creates a simple "redo" command to repeat previous entries in the command history file: example% alias r='fc -s' Example 3 Specifying a Command's Output Options This example provides that the du utility summarize disk output in units of 1024 bytes: example% alias du=du -k Example 4 Dealing with an Argument That is an Alias Name This example sets up the nohup utility so that it can deal with an argument that is an alias name: example% alias nohup="nohup " ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of alias and unalias: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH. EXIT STATUS
The following exit values are returned: 0 Successful completion. alias >0 One of the alias-name operands specified did not have an alias definition, or an error occurred. unalias >0 One of the alias-name operands specified did not represent a valid alias definition, or an error occurred. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: csh, ksh +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |Interface Stability |Committed | +-----------------------------+-----------------------------+ |Standard |See standards(5). | +-----------------------------+-----------------------------+ ksh93 +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |Interface Stability |Uncommitted | +-----------------------------+-----------------------------+ SEE ALSO
csh(1), ksh(1), ksh93(1), shell_builtins(1), attributes(5), environ(5), standards(5) SunOS 5.11 8 Apr 2008 alias(1)
All times are GMT -4. The time now is 08:58 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy