Sponsored Content
Top Forums Shell Programming and Scripting Bash alias for complicated ls command does not work. Post 302404417 by soleil4716 on Tuesday 16th of March 2010 12:21:41 PM
Old 03-16-2010
The reason it is not working is because it is expanding the $NF to an empty string when you define the alias:

Code:
>alias test_alias="ls -l | grep ^- | awk '{print $NF}'"

>alias test_alias
test_alias='ls -l | grep ^- | awk '\''{print }'\'

Try to excape the $ and it'll most likely work:

Code:
>alias test_alias="ls -l | grep ^- | awk '{print \$NF}'"
>alias test_alias
test_alias='ls -l | grep ^- | awk '\''{print $NF}'\'

Note that I tested this on ksh, not on bash.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

more command does not work in bash shell

is there a different command to display contents of a file on the output in bash shell? i tried more and it does not work. (7 Replies)
Discussion started by: npatwardhan
7 Replies

2. Shell Programming and Scripting

alias doesn't work

Hi I have put alias ll='ls -la' in .profile file but it doesn't work. On hand it works it looks like the .profile file is not beeing read. How to check whitch file is loaded? ,profile? .bash_profile? My system: SunOS mion 5.10 Generic Shell: /bin/pfksh Thanks (2 Replies)
Discussion started by: miojamo
2 Replies

3. UNIX for Dummies Questions & Answers

Alias, function or script (bash) to "revert" cd command?

In all of my brief and superficial experience with Unix or Linux, the one curious and consistent thing has been that 'cd ./' (back up one directory level) has done absolutely nothing in any of them. Now I understand that, at least for bash, 'cd ./' appears to have been substituted by 'cd ..' Am... (1 Reply)
Discussion started by: SilversleevesX
1 Replies

4. Shell Programming and Scripting

Global alias does not work in shell script

Hi Linux Set up - alias ls='ls -l' Then run script #! /bin/ksh sub() { ls } sub Is there any way to get it working. I don't want to define alias inside of the program Thank you (2 Replies)
Discussion started by: zam
2 Replies

5. Linux

Complicated Join command!

Hi I have a serious issue when trying to join to files so I have two files, one for meals and one for people Meal1:Turkey:Potato Chips:Twinkie:Coke:5.95 Meal2:Ham & Cheese:Doritos:Cookie:Sprite:6.49 Meal3:Vegetarian:Cheese Crackers:Brownie:Pepsi:5.75 Meal4:Tuna:Cheese Puffs:Eclair:Diet... (1 Reply)
Discussion started by: ehshi1992
1 Replies

6. Shell Programming and Scripting

complicated alias command

hi guys i m making one alias which will set variable , invoke sqlplus and also set prompt of sqlplus,,i have made successfully upto invoking sqlplus in unix but cant pass command in sqlplus here is the command alias sett='export ORACLE_SID=devdb2;sqlplus system/system@test' now this... (3 Replies)
Discussion started by: tapia
3 Replies

7. UNIX for Dummies Questions & Answers

A very simple script, but alias won't work

I am new to unix and therefore I did a lot of reading before posting. So please, if this has been answered before, forgive me for re-posting and point me to the right place for the answer. I have spent many hours searching the net and read over 50 posts in this forum and even tried a few thing but... (20 Replies)
Discussion started by: sssccc
20 Replies

8. Shell Programming and Scripting

complicated exclude option in find command

Hi all, In a directory, I have many video files. Example : As you can see, some of the video files come with a .aspx file (wich means the video is actually being uploaded and not entirely written on the FS) I try to write a bash script that would find all video files in the ... (1 Reply)
Discussion started by: gniagnia
1 Replies

9. UNIX for Dummies Questions & Answers

Using alias to create subshell and work in it

using kerberos to access remote server. first I execute kshell to create subshell and then kinit username@domain in that subshell. After that it prompts to enter password. Since I need to do this over and over, I am trying creating alias. I tried kshell; kinit username@domain. Did not work,... (7 Replies)
Discussion started by: analyst
7 Replies

10. UNIX for Dummies Questions & Answers

Alias does not work with bash profile

Hi, Below is what i have in my profile: alias wldm='cd /opt/app/wls' If i use bash or ksh shell this alias does not work. What should be done for this alias to work with all these simultaneously -> No Shell, bash shell, and ksh shell (14 Replies)
Discussion started by: mohtashims
14 Replies
yum-aliases(1)															    yum-aliases(1)

NAME
yum aliases plugin SYNOPSIS
yum [options] alias DESCRIPTION
This plugin changes other commands in yum, much like the alias command in bash. There are a couple of notable differences from shell style aliases though. The alias command has three forms: * alias * alias command * alias command result The first form lists all current aliases with their final result, the second form looks up a "command" and shows it's final result or an error message. The last form creates a new alias. Explanation of alias to final result conversion When you type an aliased command, like "yum --disableexcludes UPT lsu" using the default aliases, the yum-aliases plugin first takes the first "command", by skipping over any options, and then looks up the result (in this case "UPT" is converted to "--enablerepo=updates-test- ing"). If there is a match, then it will replace the aliased "command" in the argument list and try again (again skipping over any options). By convention, in the default aliases list, alias "commands" that are in all CAPS only add options so you can join together a chain of them before any real command or aliased command. There are two things that can alter the above, if you have the "recursive" configuration option set to off then alias processing will stop after the first alias to command substitution. Also, like in shell aliases, if the result starts with then alias processing will stop. EXAMPLES
To create a new alias command called "rm" which does the same thing as the command "remove" use: yum alias rm remove To always add the --skip-broken --disableexcludes=all --obsoletes options to the update command (but leaving the upgrade option alone), you could use: yum alias update update --skip-broken --disableexcludes=all --obsoletes To override the default "up" alias to use the above update command, and never ask for confirmation, you could use: yum alias up update -y AUTHORS
James Antill <james@and.org> SEE ALSO
yum-utils(1) yum(1) James Antill 31 March 2008 yum-aliases(1)
All times are GMT -4. The time now is 06:16 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy