Alias help


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Alias help
# 1  
Old 04-01-2019
Alias help

As part of my daily duties and to help me learn more about UNIX, I have to check a report to make sure all requested mksysb's completed each day. If the report doesn't show 100% completed, I have to use our NIM server and find the file. I use the command
Code:
ls -l /

<filename>. I am trying to use an alias to handle the code up to the /. I have tried the following unsuccessfully:
Code:
alias llf='ls -l /'

,
Code:
alias llf='ls -l "/"$1'

, and
Code:
alias llf='/usr/bin/ls -l /'

.

Any suggestions on what I'm doing wrong would be appreciated. I would prefer tips & suggestions over an outright answer, as I would learn more that way. Thanks
# 2  
Old 04-01-2019
Welcome to the forum and let me first ask a favour: please always state your environment (OS, shell, relevant programs and their versions...) first. From your description i take it you are on ksh in an AIX environment, but that is perhaps not obvious for everybody here.

Quote:
Originally Posted by Kentlee65
Code:
alias llf='/usr/bin/ls -l /'

.

Any suggestions on what I'm doing wrong would be appreciated. I would prefer tips & suggestions over an outright answer, as I would learn more that way.
This is a commendable attitude and i hope to be able to comply: an alias is a simple text replacement. So, when you define "llf" the way you did it and you write:

Code:
llf dir

what comes out after text replacement? And why doesn't it work?

Bonus question: what could be done to make it work, in light of finding why it doesn't in this way?

I hope this helps.

bakunin

Last edited by bakunin; 04-02-2019 at 11:37 AM..
# 3  
Old 04-01-2019
Hi Kentlee65...

Welcome friend...
We need your shell type, machine, and said machine OS.

OK.
When you run your aliases what are the results and/or error reports.
Copy and paste them from your terminal inside '</>' code tags. If nothing happens to any of them then just say nothing or blank.

This is a starter to help you diagnose errors and syntax as well as possible programming errors...
TIA.

Bazza.
# 4  
Old 04-01-2019
Quote:
Originally Posted by wisecracker
We need your shell type, machine, and said machine OS.
See above, it is ksh and AIX: "mksysb" is - roughly - the AIX equivalent of a kickstart image and "NIM" is the equivalent of an installation repository (think "Satellite Server"). The machine can't be anything else then an (LPAR in a) IBM p-Series in this case.

bakunin
This User Gave Thanks to bakunin For This Post:
# 5  
Old 04-01-2019
Bakunin, you are correct about the shell. I have found a way to make it work by defining the alias as such:
Code:
alias llf='ls -l '

. I was hoping to have the alias provide that leading / for the filename, as its easier to copy from the report without it.

As for the question, when the text replacement is done, the system gets $ /usr/bin/ls -l / <copied filename>. I cannot figure out how to get it to not put that space in there.
# 6  
Old 04-02-2019
Quote:
Originally Posted by Kentlee65
I have found a way to make it work by defining the alias as such:
Code:
alias llf='ls -l '

.

As for the question, when the text replacement is done, the system gets $ /usr/bin/ls -l / <copied filename>. I cannot figure out how to get it to not put that space in there.
Very good, spot on! This is the reason why an alias won't work for that.

Quote:
Originally Posted by Kentlee65
I was hoping to have the alias provide that leading / for the filename, as its easier to copy from the report without it.
This is possible, but not with an alias. Notice that one of your initial solutions:

Code:
alias llf='ls -l "/"$1'

did not work because "${1}" or "$1" are denominating positional parameters. Positional parameters occur only in processes. To create a new process you would need a script therefore. So, what you can do is to create a file called "llf" with this content:

Code:
ls -l /"${1}"

set its execute rights (i.e. chmod 754 llf) and now you could use it like:

Code:
/path/to/llf usr

to execute ls -l /usr. Put this script (if you are satisfied) into your PATH (or extend your PATH variable to where the script resides) and you could use that like the alias you initially planned to use.

I hope this helps.

bakunin

Last edited by bakunin; 04-02-2019 at 05:09 AM.. Reason: fixed tag
# 7  
Old 04-02-2019
Quote:
Originally Posted by bakunin
... Positional parameters occur only in processes. ...
... or in functions. Try

Code:
llf() { ls -l /$1; }
llf root

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