Gå til innhold

Legge til egne kommandoer i Linux


kjey

Anbefalte innlegg

Hei.

 

Er det noen som vet om en nettside eller lignende hvor det står litt forklart om hvordan man legger til egne kommandoer til terminal? Her er det snakk om å programmere egne kommandoer, redigere på eksisterende kommandoer eller legge inn nye kommandoer som er skrevet av andre. Hadde vært litt gøy å lage noe eget som man kan ha bruk for i terminal. Hvis ingen vet om noe jeg kan lese, er det noen som kan gi meg en pekepinn på hvordan det gjøres?

 

På forhånd, takk :)

Lenke til kommentar
Videoannonse
Annonse

Det stemmer nok at oppretting av et alias ville være det beste i denne sammenhengen. Du kan enten lagre aliaset permanent (ved å legge til aliaset i filen ~/.bashrc), eller du kan lagre det midlertidig (helt til du bestemmer deg for å lukke vinduet).

 

Eksempel på oppretting av midlertidig alias:

alias pingrouter='ping 10.0.0.1'

Endret av Kadmium
Lenke til kommentar
Hei, takk for svar ;-) Men tenkte mer på hvor det står om hvordan man lager egne kommandoer i f.eks. C slik at dine egne kommandoer kan ta imot argumenter osv.

9339686[/snapback]

Antar du kan litt C da :)

"main" kan ha to argument

    int main(int argc, char * argv[])

argc er antall argument du sender til programmet, argv er en "array" med argumenter osv. argv[0] er navnet til programmet ditt

Lenke til kommentar

Skjønner ikke helt hva du mener her. Vil du kalle et annet program fra et C-program?

Isåfall kan du bruke system() ; eksempel :

system("ls -l");

 

Men hvis det er dette du mener, så råder jeg deg til å heller se på scripting i bash, eller noe annet som er bedre egnet til slike formål enn C, som f.eks Perl, Python o.l.

 

Det er greit nok å lære seg C, men du lærer ikke mye av å bruke funksjoner som system(). Lag heller små programmer som løser små problemer, og bind det hele sammen med et script.

Lenke til kommentar

Hehe, er ikke det jeg mener. Sorry, forklarte dårlig! Hvordan kan C programmet mitt hente eventuelle argumenter som jeg skriver inn i terminal? F.eks. hvis jeg lager en kommando som heter "dato" med tilhørende C program: "dato". Hvis jeg skriver i terminal: "dato -argument", hvordan kan jeg da sende over argumentet?

Lenke til kommentar

Men C-programmet er jo allerede en kommando. Hvis du har et C-program som heter dato i den mappen du står i, så kan du skrive

./dato argument

 

Evt. hvis programmet ligger i en mappe som ligger i PATH (/bin, /usr/bin, /usr/local/bin e.l) trenger du bare å skrive

dato argument

 

Edit: Du kan også videresende argumenter fra et bash-script ved å bruke $1 for første argument, $2 for argument nr. 2 osv.. eller $* for å videresende alle argumenter.

 

f.eks

#!/bin/bash

ls -l $*

 

Dette lager et script som kaller ls med argumentet -l, og videresender alle andre argumenter du måtte kalle det med.

Endret av Sokkalf^
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...