/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Shell-spørgsmål: Markering af et tegn
Fra : Brian K. Larsen (DCE~


Dato : 13-12-01 09:36

Jeg er begyndt at tygge mig igennem en bog om Linux... jeg læser om shellen
i øjeblikket...

Jeg har lige et lille spm. mere om Linux:

Spm 1)
Hvis jeg f.eks. vil liste alle filer, som indeholder e, skriver jeg:
ls -l *e*
men det virker også hvis jeg skriver:
ls -l *e*

Jeg kiggede i
man ls
for at se hvad det er korrekt...
men det fik mig til at tæmke på:
Er der en korrekt rækkefølge - eller kan man i kommandoer bytte rundt på
parametre, som man vil ??
Er det en tilfældighed at begge kan bruges.. eller ???

Spm 2)

Til min store overraskelse så jeg at kommandoen
dir
også virker!!!

Er der forskel på "ls" og "dir" ???

--
mvh.

Brian K. Larsen
(DCE)






 
 
Niels Andersen (13-12-2001)
Kommentar
Fra : Niels Andersen


Dato : 13-12-01 09:54

"Brian K. Larsen (DCE)" <brian@brianbrianbrian.dk> wrote in message
news:OXZR7.7134$z4.950334@news000.worldonline.dk...
> Hvis jeg f.eks. vil liste alle filer, som indeholder e, skriver jeg:
> ls -l *e*
> men det virker også hvis jeg skriver:
> ls -l *e*

Jeg kan ikke se forskel, prøv lige igen... :)

--
Mvh.

Niels Andersen



Anders Tjerke Hansen (14-12-2001)
Kommentar
Fra : Anders Tjerke Hansen


Dato : 14-12-01 09:05

Hov, der var jeg lidt for hurtigt... sorry!

Jeg prøver lige igen:

Hvis jeg f.eks. vil liste alle filer, som indeholder e, skriver jeg:
ls *e* -l
men det virker også hvis jeg skriver:
ls -l *e*

Jeg kiggede i
man ls
for at se hvad det er korrekt...
men det fik mig til at tæmke på:
Er der en korrekt rækkefølge - eller kan man i kommandoer bytte rundt på
parametre, som man vil ??
Er det en tilfældighed at begge kan bruges.. eller ???

Med venlig hilsen
Anders Tjerke Hansen




Niels Andersen (14-12-2001)
Kommentar
Fra : Niels Andersen


Dato : 14-12-01 10:16

"Anders Tjerke Hansen" <nospam@nospam.no> wrote in message
news:tEiS7.3397$Q3.489233@news010.worldonline.dk...

Hej Anders og Brian (???)

> Jeg prøver lige igen:
>
> Hvis jeg f.eks. vil liste alle filer, som indeholder e, skriver jeg:
> ls *e* -l
> men det virker også hvis jeg skriver:
> ls -l *e*

Nogle gange er rækkefølgen ligegyldig, andre gange har den betydning.

Hvis der fx. står i manualen, at man kan specificere en fil sådan her:
-f filename
Så skal filnavnet komme efter "-f". Men måske kan man angive en input-fil og
en output-fil:
-i filename
og
-o filename
Så kan man (i hvert fald nogle gange) gøre sådan her:

program -io inputfil outputfil

Hvis rækkefølgen har betydning, tror jeg at det er nævn i dokumentationen.
Om ikke andet, så i hvert fald indirekte.
Se fx. xargs:

SYNOPSIS
xargs [-0prtx] [-e[eof-str]] [-i[replace-str]] [-l[max-
lines]] [-n max-args] [-s max-chars] [-P max-procs]
[--null] [--eof[=eof-str]] [--replace[=replace-str]]
[--max-lines[=max-lines]] [--interactive] [--max-
chars=max-chars] [--verbose] [--exit] [--max-procs=max-
procs] [--max-args=max-args] [--no-run-if-empty] [--ver-
sion] [--help] [command [initial-arguments]]

Når den finder noget, den mener er "command" (den anden-sidste parameter),
så er alt hvad der kommer derefter en del af "initial-arguments".

--
Mvh.

Niels Andersen



Claus Rasmussen (14-12-2001)
Kommentar
Fra : Claus Rasmussen


Dato : 14-12-01 11:00


Brian-Anders skrev...

> Hvis jeg f.eks. vil liste alle filer, som indeholder e, skriver jeg:
> ls *e* -l
> men det virker også hvis jeg skriver:
> ls -l *e*

[Det kan sgu' da ikke passe... taste,taste,taste... HVAD ??]

Jeg har gravet lidt rundt, og det ser ud til, at problemet skyldes
getopt funktionen (man 3 getopt), der som default accepterer options
overalt på kommandolinien.

Du kan undgå denne adfærd ved at sætte environment-variablen
POSIXLY_CORRECT - men det fører også en masse andet med sig, som du
nok ikke er interesseret i. En anden måde at undgå problemet på, er
at skille options og filnavne med "--". Altså: "ls -- *e* -l" .

Men jeg mener, at det er en (farlig) bug, at ls opfører sig på den
måde, så jeg ville nok sende en rapport til bug-fileutils@gnu.org .

Der er dog den mulighed, at GNU folkene mener, at det faktisk /skal/
være sådan. De har nogen gange en noget speciel opfattelse af tingene.
Denne hypotese styrkes af, at hvis man kigger sourcen igennem, så
har alle andre programer i den pakke, det drejer sig om (fileutils)
nøjagtig samme adfærd. Det drejer sig bla. om cp, mv, rm, chmod,
mkdir, rmdir osv.

-Claus


Byrial Jensen (15-12-2001)
Kommentar
Fra : Byrial Jensen


Dato : 15-12-01 12:09

Claus Rasmussen <clr@cc-consult.dk> skrev:

> Men jeg mener, at det er en (farlig) bug, at ls opfører sig på den
> måde, så jeg ville nok sende en rapport til bug-fileutils@gnu.org .
>
> Der er dog den mulighed, at GNU folkene mener, at det faktisk /skal/
> være sådan.

Det står ganske klart i manualen for ls i allerførste afsnit at det
er den ønskede virkemåde, så det burde ikke kunne overraske:

The `ls' program lists information about files (of any type,
including directories). Options and file arguments can be
intermixed arbitrarily, as usual.

Claus Rasmussen (15-12-2001)
Kommentar
Fra : Claus Rasmussen


Dato : 15-12-01 12:14

Byrial Jensen wrote:

> Det står ganske klart i manualen for ls i allerførste afsnit at det
> er den ønskede virkemåde, så det burde ikke kunne overraske:
>
> The `ls' program lists information about files (of any type,
> including directories). Options and file arguments can be
> intermixed arbitrarily, as usual.

Hrmpf. Så går det, når man ikke RTFM'er ordenligt

-Claus


frank damgaard (13-12-2001)
Kommentar
Fra : frank damgaard


Dato : 13-12-01 10:41

Brian K. Larsen (DCE) <brian@brianbrianbrian.dk> wrote:

> Spm 2)

> Til min store overraskelse så jeg at kommandoen
> dir
> også virker!!!

> Er der forskel på "ls" og "dir" ???

det kan være:

dir: aliased to ls -la

eller (info dir):

`dir': Briefly list directory contents
======================================

`dir' (also installed as `d') is equivalent to `ls -C -b'; that is,
by default files are listed in columns, sorted vertically, and special
characters are represented by backslash escape sequences.

*Note `ls': ls invocation.

Men det er blot en GNU "ls" der opfører sig på en bestemt måde
bår ls kaldes som dir.


--
Frank Damgaard |


Byrial Jensen (15-12-2001)
Kommentar
Fra : Byrial Jensen


Dato : 15-12-01 12:09

frank damgaard <frank.damgaard@spam.invalid> skrev:
>
> Men det er blot en GNU "ls" der opfører sig på en bestemt måde
> bår ls kaldes som dir.

Hvis jeg ikke husker forkert, er det et POSIX-krav at der skal
findes en dir-kommando.

Anders Tjerke Hansen (14-12-2001)
Kommentar
Fra : Anders Tjerke Hansen


Dato : 14-12-01 09:06

Hov, der var jeg lidt for hurtigt... sorry!

Jeg prøver lige igen:

Hvis jeg f.eks. vil liste alle filer, som indeholder e, skriver jeg:
ls *e* -l
men det virker også hvis jeg skriver:
ls -l *e*

Jeg kiggede i
man ls
for at se hvad det er korrekt...
men det fik mig til at tæmke på:
Er der en korrekt rækkefølge - eller kan man i kommandoer bytte rundt på
parametre, som man vil ??
Er det en tilfældighed at begge kan bruges.. eller ???

Med venlig hilsen
Anders Tjerke Hansen




Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408907
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste