Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: OPGELOST Alias hulp  (gelezen 926 keer)

Offline BaukeP

  • Lid
  • Steunpunt: Nee
OPGELOST Alias hulp
« Gepost op: 2010/04/14, 14:28:44 »
Hallo,

Ik heb dit in de terminal ingevoerd en het werkt:
df -h | mawk '$1 ~ /^(B)|^\// {printf("%-20s %6s %6s %6s %18s\n", $1, $2, $3, $4, $6)}'

Als ik er een alias van wil maken gaat het echter fout:
alias df=df -h | mawk '$1 ~ /^(B)|^\// {printf("%-20s %6s %6s %6s %18s\n", $1, $2, $3, $4, $6)}'

Ik heb ge-experimenteerd met dubbele aanhalingstekens, enkele etc, maar kom er niet uit.

Wie heeft de oplossing?

Alvast bedankt

Bauke
« Laatst bewerkt op: 2010/04/15, 22:42:40 door BaukeP »

Offline Benjamin

  • Lid
  • Steunpunt: Nee
Re: Alias hulp
« Reactie #1 Gepost op: 2010/04/14, 15:14:59 »
Pfew...

misschien een raar idee, maar is het niet makkelijker om het in een script te plaatsen?

#!/bin/bash

df -h | mawk '$1 ~ /^(B)|^\// {printf("%-20s %6s %6s %6s %18s\n", $1, $2, $3, $4, $6)}'

en deze op te slaan in je een van je $PATH mappen?

Groetjes

Offline siegi

  • Lid
  • Steunpunt: Nee
Re: Alias hulp
« Reactie #2 Gepost op: 2010/04/14, 15:26:28 »
Op internet vind je veel topic in verband met awk gebruiken in alias. (mawk zal wel dezelfde problemen geven)

Ik heb zelf volgende oplossing gebruikt

Eerst het mawk commando in een functie te steken.
function b { mawk '$1 ~ /^(B)|^\// {printf("%-20s %6s %6s %6s %18s\n", $1, $2, $3, $4, $6)}';}

En vervolgens de alias aan te maken.
alias df='df -h | b'

Deze twee lijntjes kan je dan in .bashrc zetten waardoor de alias onthouden wordt.

Offline Rachid

  • Vertaalteam
    • rachidbm
    • Mijn blog
  • Steunpunt: Nee
Re: Alias hulp
« Reactie #3 Gepost op: 2010/04/14, 15:33:36 »
Als ik er een alias van wil maken gaat het echter fout:
alias df=df -h | mawk '$1 ~ /^(B)|^\// {printf("%-20s %6s %6s %6s %18s\n", $1, $2, $3, $4, $6)}'
Al geprobeerd de hele alias tussen quotes te zetten? Dus
alias df2="df -h | mawk '$1 ~ /^(B)|^\// {printf("%-20s %6s %6s %6s %18s\n", $1, $2, $3, $4, $6)}'"

Dan moet je denk ik nog wel de " escapen die door awk worden gebruikt.

Het lijkt me makkelijker om het in een script te plaatsen zoals Benjamin zei. Dat is ook iets beter onderhoudbaar...
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline siegi

  • Lid
  • Steunpunt: Nee
Re: Alias hulp
« Reactie #4 Gepost op: 2010/04/14, 15:43:22 »
Het lijkt me makkelijker om het in een script te plaatsen zoals Benjamin zei. Dat is ook iets beter onderhoudbaar...
Mij lijkt het toch een stuk beter onderhoudbaar als het in .bashrc staat dan in een zelf aangemaakt script.
Bovendien als hij het script wil afroepen met het commando df, dan zal hij zowiezo toch nog een alias moeten zetten in .bashrc

Offline Rachid

  • Vertaalteam
    • rachidbm
    • Mijn blog
  • Steunpunt: Nee
Re: Alias hulp
« Reactie #5 Gepost op: 2010/04/14, 16:18:09 »
Mij lijkt het toch een stuk beter onderhoudbaar als het in .bashrc staat dan in een zelf aangemaakt script.
Ja klopt, jouw oplossing is ook makkelijker. Ik had jouw post niet gezien voordat ik postte.

Bovendien als hij het script wil afroepen met het commando df, dan zal hij zowiezo toch nog een alias moeten zetten in .bashrc
Je kunt het script toch gewoon df of df2 noemen. Ik zou uberhaupt een script of alias niet dezelfde naam geven als een bestaand commando. Want dan kun je niet meer gewoon 'df' gebruiken...
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline BaukeP

  • Lid
  • Steunpunt: Nee
Re: Alias hulp
« Reactie #6 Gepost op: 2010/04/15, 22:42:19 »
Fantastisch!
Ik gebruik al tijden een apart bestand voor m'n aliasses, en daar kan deze mooi in!

Bedankt allemaal!

Bauke