#!/bin/sh
if [ bla, bla, bla ]; then
#ikkeno
else
do-something
fi
Men dette er ikke lov. Derfor bruker jeg gjerne 'echo -n'
som eneste kommandi i then-grenen. Finnes bedre alternativer?
--
Jon Haugsand
Dept. of Informatics, Univ. of Oslo, Norway, mailto:jon...@ifi.uio.no
http://www.ifi.uio.no/~jonhaug/, Phone: +47 22 95 21 52
> Av og til oppstår et behov for å ikke ha noen operasjoner i en
> then-gren i et shell-skript:
>
> #!/bin/sh
>
> if [ bla, bla, bla ]; then
> #ikkeno
> else
> do-something
> fi
>
> Men dette er ikke lov. Derfor bruker jeg gjerne 'echo -n'
> som eneste kommandi i then-grenen. Finnes bedre alternativer?
>
>
kolon
altså:
if [ bla, bla, bla ]; then
:
else
do-something
fi
annet vanlig alternativ er å bruke true (true - do nothing,
successfully). kolon er vel bare en variant av true som er innebygd i
shellet?
--
am
you win again, gravity!
Hva med å bare ta
if ! [ bla, bla, bla ]; then
do-something
fi
for å snu litt på flisa ?
-Johnny
> Av og til oppstår et behov for å ikke ha noen operasjoner i en
> then-gren i et shell-skript:
Hvorfor ikke bruke !
if [ ! 1 -ne 1 ] ; then echo yes; fi
Petter
--
________________________________________________________________________
Petter Gustad 8'h2B | (~8'h2B) - Hamlet in Verilog http://gustad.com
Visste ikke at man kunne ta ! foran testoperasjonen. Men det finnes
to små ubetydelige grunner til ikke å gjøre dette, kan være mindre
lesbart, og det kan være at jeg hadde et større if/then/else-uttrykk
som jeg etterhvert fjernet alt i then-grenen, og dermed for å slippe å
fjerne else, osv, osv ønsket jeg bare å erstatte med "do nothing"
eller true som jeg er blitt belært. (Det kan også være endel elsif igjen.)
To grunner:
Det kan være at jeg begynte en større if-greie med diverse
andinger-osv, og så er jeg redd for å gjøre feil:
if [ -f $fil -a "heisan" = "$b" -o .... .... ]; then
gjørnoe
else
gjørnoeannet
fi
Og så finner jeg ut at "gjørnoe" ikke skal være med mer.
> Visste ikke at man kunne ta ! foran testoperasjonen.
Du kan ikkje det i tradisjonelt Bourne Shell.
Forøvrig vart kolon brukt som kommentarteikn i _verkeleg_ gamle dagar,
før "#" vart lagt til. Det er ikkje heilt det same, sidan argumenta
til ":" vert parsa (";" vil altså avslutte kommentaren). ":" er
alltid ein innebygd operator, i motsetnad til true. Dette var svært
viktig å passe på viss du programmerte skript på microVAX med
accounting påslått.
--
Kjetil T. [ Nerd #1 -- http://nerdquiz.thathost.com ]
> Forøvrig vart kolon brukt som kommentarteikn i _verkeleg_ gamle
> dagar, før "#" vart lagt til. Det er ikkje heilt det same, sidan
> argumenta til ":" vert parsa (";" vil altså avslutte kommentaren).
> ":" er alltid ein innebygd operator, i motsetnad til true. Dette
> var svært viktig å passe på viss du programmerte skript på microVAX
> med accounting påslått.
det er slike fortellinger som gjør man føler seg som en cluebie når
man jobber med datamaskiner. *sukk*
dog, linux er sånn sett grusom. bash som standard rootshell?
dynamisk lenket til ditt og datt? trist er det. /sbin/sh på
Solaris, det er shellet sitt det.
--
Terje - som har patchet OpenSSH i natt. *grumle*
> Forøvrig vart kolon brukt som kommentarteikn i _verkeleg_ gamle
> dagar, før "#" vart lagt til.
./configure i Perl-distribusjonen bruker ennå «:» som
kommentartegn, for portabilitetens skyld.
Peter
--
People say I'm indifferent, but I don't care.
> Visste ikke at man kunne ta ! foran testoperasjonen.
Sjekk
man test
root@dhcp-1 ~# uname -snr
Linux dhcp-1.trustix.com 2.2.20-1tr
root@dhcp-1 ~# egrep '^root:' /etc/passwd
root:x:0:0:root:/root:/sbin/bash
root@dhcp-1 ~# ldd /sbin/bash
not a dynamic executable
| Terje - som har patchet OpenSSH i natt. *grumle*
Erlend··
--
Erlend Midttun erle...@bofh.no
IRC: Golle Registered Linux User #5779
http://www.tihlde.org/~erlendbm/ A Unix Admin
"If you can't RAID it or take it to bed, it ain't worth having" ;-)
Står ingenting der om at man kan ha ! foran test. (Og det ville ha
vært merkelig:
if ! test "kk" = "kk" ; then ...
> * Peter J. Acklam
> > Jon Haugsand <jon...@ifi.uio.no> wrote:
> >
> > > Visste ikke at man kunne ta ! foran testoperasjonen.
> >
> > Sjekk
> >
> > man test
>
> Står ingenting der om at man kan ha ! foran test. (Og det ville ha
> vært merkelig:
>
> if ! test "kk" = "kk" ; then ...
Det kommer vel an på OS-et:
bash$ man test
TEST(1) FSF TEST(1)
NAME
test - check file types and compare values
SYNOPSIS
test EXPRESSION
test EXPRESSION ]
test OPTION
DESCRIPTION
[snip]
! EXPRESSION
EXPRESSION is false
^^^^^^^^^^^^^^^^^^^^^^^^^^
> [Jon Haugsand]
>
> > Visste ikke at man kunne ta ! foran testoperasjonen.
>
> Du kan ikkje det i tradisjonelt Bourne Shell.
>
> Forøvrig vart kolon brukt som kommentarteikn i _verkeleg_ gamle dagar,
> før "#" vart lagt til. Det er ikkje heilt det same, sidan argumenta
> til ":" vert parsa (";" vil altså avslutte kommentaren).
Og dette kan utnyttes til å lage et smart prompt:
$ PS1=': \u@\h:\w; '
Prompten blir da i mitt tilfelle slik:
: lars@house:~;
Og har den egenskapen at den evaluerer til absolutt ingenting. Dette
gjør at man kan klippe hele linjer med kommandoer og bare paste dem
tilbake og kjøre dem uten å måtte klippe bort selve prompten.
Dvs, at
: lars@house:~; echo "heihei"
og
: lars@house:~; : lars@house:~; echo "heihei"
og
: lars@house:~; : lars@house:~; : lars@house:~; echo "heihei"
(etc)
alle gir samme resultat.
Flytt musepeker til aktuell linje, trykk tre ganger på venstre knapp
og en gang på midterste, og vips: kommandoen ble kjørt pånytt.
- Lars.
--
And what rough beast, its hour come round at last,
slouches towards Bethlehem to be born?
-- William Butler Yeats: The Second Coming
[snip]
| test EXPRESSION
[snip]
| ! EXPRESSION
| EXPRESSION is false
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
Haugsands påstand er fremdeles gyldig.
Kodeordet er _foran_.
- Terje
> * Peter J. Acklam
>
> | ! EXPRESSION
> | EXPRESSION is false
> | ^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> Haugsands påstand er fremdeles gyldig.
> Kodeordet er _foran_.
Ja, du har rett. Jeg leste Haugsands «! [ ... ]» som «[ ! ... ]».
> Haugsands påstand er fremdeles gyldig. Kodeordet er _foran_.
Det er dokumentert i bash, om ikke helt rett frem: (les spesielt
siste avsnitt under "Pipelines")
if list; then list; [ elif list; then list; ] ... [ else
list; ] fi
The if list is executed. If its exit status is
zero, the then list is executed. Otherwise, each
elif list is executed in turn, and if its exit sta-
tus is zero, the corresponding then list is exe-
cuted and the command completes. Otherwise, the
else list is executed, if present. The exit status
is the exit status of the last command executed, or
zero if no condition tested true.
Lists
A list is a sequence of one or more pipelines separated by
one of the operators ;, &, &&, or ||, and optionally ter-
minated by one of ;, &, or <newline>.
Pipelines
A pipeline is a sequence of one or more commands separated
by the character |. The format for a pipeline is:
[time [-p]] [ ! ] command [ | command2 ... ]
The standard output of command is connected to the stan-
dard input of command2. This connection is performed
before any redirections specified by the command (see
REDIRECTION below).
If the reserved word ! precedes a pipeline, the exit sta-
tus of that pipeline is the logical NOT of the exit status
of the last command. Otherwise, the status of the
pipeline is the exit status of the last command. The
shell waits for all commands in the pipeline to terminate
before returning a value.
--
Haakon
> Jon Haugsand <jon...@ifi.uio.no> wrote:
> > Står ingenting der om at man kan ha ! foran test. (Og det ville ha
> > vært merkelig:
> >
> > if ! test "kk" = "kk" ; then ...
>
> Det kommer vel an på OS-et:
Det er eit merkeleg OS viss
! program argument
vert gjort om til
program ! argument
Forresten ville ikkje
if ! grep foo; then
fungere viss det var slik det hang saman.
> * Terje Kvernes
> | dog, linux er sånn sett grusom. bash som standard rootshell?
> | dynamisk lenket til ditt og datt? trist er det. /sbin/sh på
> | Solaris, det er shellet sitt det.
>
> root@dhcp-1 ~# uname -snr
> Linux dhcp-1.trustix.com 2.2.20-1tr
> root@dhcp-1 ~# egrep '^root:' /etc/passwd
> root:x:0:0:root:/root:/sbin/bash
> root@dhcp-1 ~# ldd /sbin/bash
> not a dynamic executable
nok et stikk til Trustix. det var godt å se. :)
--
Terje
> Terje Rosten <terj...@phys.ntnu.no> wrote:
>
> > * Peter J. Acklam
> >
> > | ! EXPRESSION
> > | EXPRESSION is false
> > | ^^^^^^^^^^^^^^^^^^^^^^^^^^
> >
> > Haugsands påstand er fremdeles gyldig.
> > Kodeordet er _foran_.
>
> Ja, du har rett. Jeg leste Haugsands «! [ ... ]» som «[ ! ... ]».
Og ikke var det Haugsand som sa det heller, men Johnny Sletteland.
Dårlig dag, gitt.
Jaggu:
bash$ ! /bin/false && echo "not false"
not false
Takk.
- Terje
> Og dette kan utnyttes til å lage et smart prompt:
>
> $ PS1=': \u@\h:\w; '
>
> Prompten blir da i mitt tilfelle slik:
>
> : lars@house:~;
>
> Og har den egenskapen at den evaluerer til absolutt ingenting.
> Dette gjør at man kan klippe hele linjer med kommandoer og bare
> paste dem tilbake og kjøre dem uten å måtte klippe bort selve
> prompten.
Kjempetøft! Eg forandra promptet mitt (i bash) sporenstreks til:
PS1=': [\u@\h \w]; '
PS2=': && '
Det er vanskeleg (eg vil tru umogleg) å lage ein PS2 som er ein
null-op, mitt forslag taklar at forrige linja slutta med || eller &&,
men ikkje \, |, ubalansert ' eller ".
Det fine med ; er at ein vanlegvis ikkje tek det teiknet med i
CharClass. Eg brukar X-ressursdefinisjonen
*CharClass: 33:48,35-37:48,45-47:48,126:48
slik at eg kan dobbelklikke på dei fleste filnamn. Eg likar å ha full
path på cwd i promptet slik at eg enkelt kan klippe det ut og lime det
inn i andre vindauge.
PS. Pass på om katalognamnet inneheld semikolon, forresten :)
Meg tro du ikke programmerer i Java.
> * Kjetil Torgrim Homme
> > slik at eg kan dobbelklikke på dei fleste filnamn. Eg likar å ha full
> > path på cwd i promptet slik at eg enkelt kan klippe det ut og lime det
> > inn i andre vindauge.
>
> Meg tro du ikke programmerer i Java.
Fra /usr/src/linux/Documentation/java.txt:
Java(tm) Binary Kernel Support for Linux v1.03
----------------------------------------------
Linux beats them ALL! While all other OS's are TALKING about direct
support of Java Binaries in the OS, Linux is doing it!
You can execute Java applications and Java Applets just like any other
program after you have done the following:
[...]
Now compile the application with:
javac HelloWorld.java
Set the executable permissions of the binary file, with:
chmod 755 HelloWorld.class
And then execute it:
./HelloWorld.class
To execute Java Jar files, simple chmod the *.jar files to include
the execution bit, then just do
./Application.jar
To execute Java Applets, simple chmod the *.html files to include
the execution bit, then just do
./Applet.html
--
Lars
> Linux beats them ALL! While all other OS's are TALKING about direct
> support of Java Binaries in the OS, Linux is doing it!
Ikke for å fornærme deg, men "goddagmannøkseskaft". Jeg forlot "full
path på cwd i promptet" da jeg begynte med Java. Det er en praktisk
sak.
> * Lars Bjønnes
> > Jon Haugsand <jon...@ifi.uio.no> writes:
> >
> > > * Kjetil Torgrim Homme
> > > > slik at eg kan dobbelklikke på dei fleste filnamn. Eg likar å ha full
> > > > path på cwd i promptet slik at eg enkelt kan klippe det ut og lime det
> > > > inn i andre vindauge.
> > >
> > > Meg tro du ikke programmerer i Java.
>
> > Linux beats them ALL! While all other OS's are TALKING about direct
> > support of Java Binaries in the OS, Linux is doing it!
>
> Ikke for å fornærme deg, men "goddagmannøkseskaft". Jeg forlot "full
> path på cwd i promptet" da jeg begynte med Java. Det er en praktisk
> sak.
Ah, beklager. Jeg trodde du mente noe helt annet. Når jeg leser det du
skrev en gang til, så skjønner jeg at jeg var helt på jordet. Jeg
forstår hva du mener nå, og er helt enig med deg. :-)
</krypetilkorset>
(En liten frust, sånn på tampen: Solaris-boks, minimalt installert,
kun med sh som shell, ingen netttilgang, C-kompilator eller Emacs og
man skal kompilere, konfigurere og installere en stor Java-app. Jeg
har sjelden vært så motivert for å lære meg shell-skripting. Og, takk
Mitra, for at det var timebetalt.)
--
Lars
> * Lars Bjønnes
> > Jon Haugsand <jon...@ifi.uio.no> writes:
> >
> > > * Kjetil Torgrim Homme
> > > > slik at eg kan dobbelklikke på dei fleste filnamn. Eg likar å ha full
> > > > path på cwd i promptet slik at eg enkelt kan klippe det ut og lime det
> > > > inn i andre vindauge.
> > >
> > > Meg tro du ikke programmerer i Java.
>
> > Linux beats them ALL! While all other OS's are TALKING about direct
> > support of Java Binaries in the OS, Linux is doing it!
>
> Ikke for å fornærme deg, men "goddagmannøkseskaft". Jeg forlot "full
> path på cwd i promptet" da jeg begynte med Java. Det er en praktisk
> sak.
Ah, beklager. Jeg trodde du mente noe helt annet. Når jeg leser det du
skrev en gang til, så skjønner jeg at jeg var helt på jordet. Jeg
forstår hva du mener nå, og er helt enig med deg. :-)
</krypetilkorset>
(En liten frust, sånn på tampen: Solaris-boks, minimalt installert,
kun med sh som shell, ingen netttilgang, C-kompilator eller Emacs og
man skal kompilere, konfigurere og installere en stor Java-app. Jeg
har aldri vært så motivert for å lære meg shell-skripting. Takk mitra,
for vi gjorde jobben på timebetaling.)
--
Lars
[ ... ]
> (En liten frust, sånn på tampen: Solaris-boks, minimalt installert,
> kun med sh som shell, ingen netttilgang, C-kompilator eller Emacs og
> man skal kompilere, konfigurere og installere en stor Java-app. Jeg
> har aldri vært så motivert for å lære meg shell-skripting. Takk
> mitra, for vi gjorde jobben på timebetaling.)
au. det eneste som mangler er at den ikke har 'vi' heller. dog,
'vim' er liksom blitt litt vanedannende det og. overgangen tilbake
til 'vi' er aldri helt smertefri.
men, hei, man har da lært 'ed' å kjenne også. av og til har man
ikke andre valg (annet enn reinstallasjon av hele smørja, og det er
kanskje like greit som å knotte ed :)
--
Terje
> ikke andre valg (annet enn reinstallasjon av hele smørja, og det er
> kanskje like greit som å knotte ed :)
Reinstallere?
Er du spik sprø - det er slikt du gjør på MS-Windows!
Har man ed står man aldri fast, sådetså!
Bare pass deg du!
--
Jan Arne Fagertun <Jan.A.F...@trondheim.online.no>
Phone: +47 73571204 Fax: +47 85025495 Mobile phone: +47 90795944
NTNU => NT, Not Unix... http://www.nvg.ntnu.no/ntnu/ - better use Linux
> (En liten frust, sånn på tampen: Solaris-boks, minimalt
> installert, kun med sh som shell,
Lær deg å bruke ksh. Pass på å setje EDITOR slik at "piltastane"
fungerer slik du er vant til. (Eg seier "piltastane" sidan det er
hjkl for vi og C-b C-n C-p C-f for emacs.) Filnamnutfylling ligg på
M-ESC eller \.
> Lær deg å bruke ksh. Pass på å setje EDITOR slik at
> "piltastane" fungerer slik du er vant til. (Eg seier
> "piltastane" sidan det er hjkl for vi og C-b C-n C-p C-f for
> emacs.) Filnamnutfylling ligg på M-ESC eller \.
En kan få dette til å fungere på de «ordentlige» piltastene også,
om man bruker
set -o emacs
og så
alias _A=^P
alias _B=^N
alias _D=^B
alias _C=^F
alias __A=^P
alias __B=^N
alias __D=^B
alias __C=^F
der ^X er kontrolltegnet «Control x» og ikke «^» og «X».
> dog, linux er sånn sett grusom. bash som standard rootshell?
> dynamisk lenket til ditt og datt? trist er det.
Ja, det er litt trist.
Man kan jo installere sash eller tilsvarende, dog, med minimal
plagsomhet.
> /sbin/sh på
> Solaris, det er shellet sitt det.
Urghle, nei, det er jo Solaris sitt standard crippled-as-heck-shell.
Praktisk talt ubrukelig, og fordrer en del tid for å lære seg av med
POSIXismer og sånne fæle standardting. ;)
--
Diagnose: Manisk-imbesill
«"Amatør" og "inkompetent gjøk" er ikke helt det samme.»
- Erik Naggum, no.it.programmering.c, 2001-12-13 00:41:02 UTC
>
> Det er vanskeleg (eg vil tru umogleg) å lage ein PS2 som er ein
> null-op, mitt forslag taklar at forrige linja slutta med || eller &&,
> men ikkje \, |, ubalansert ' eller ".
>
Kva med å sette PS2 til space? Det burde fungere på det meste, med
mindre det er ein 'echo' eller noko slikt du delar over to linjer. I
ksh på Solaris kan du sette PS2 til ingenting, men i bash ser det ut
som om PS1 blir brukt dersom PS2 ikkje er sett.
--
Roger
> ed is for wimps.
>
> cat, head og tail.
>
> stort sett trenger man bare førstnevnte.
cat?
cat() { while read f; do echo "$f"; done; }
Dette har eg tasta _mange_ gongar i einbrukarmodus i SunOS ...
Det er litt meir pes å kode head når ein ikkje har anna enn
"Turingaritmetikk" tilgjengeleg (unært talsystem).
--
Kjetil T. [ Nerd #3 -- http://nerdquiz.thathost.com ]
> cat() { while read f; do echo "$f"; done; }
Ulempen er at vi mister begynnende mellomrom på en linje, så
lesbarheten blir fort redusert. Tenk om du måtte editer et
Python-program! ;)
cat() {
oldifs="$IFS"
IFS="
"
while read f
do
echo "$f"
done
IFS="$oldifs"
}
> Dette har eg tasta _mange_ gongar i einbrukarmodus i SunOS ...
> Det er litt meir pes å kode head når ein ikkje har anna enn
> "Turingaritmetikk" tilgjengeleg (unært talsystem).
Du sier ikke det. :)
Hadde man hatt expr innebygget i shellet, så hadde det jo vært
enkelt:
head() {
n=0
oldifs="$IFS"
IFS="
"
while read f
do
if [ $n -eq 10 ]
then
break
fi
n=`expr $n + 1`
echo "$f"
done
IFS="$oldifs"
}
Men det er jo egentlig like enkelt å klare seg uten expr:
n=""
while read f
do
if [ "$n" = "xxxxxxxxxx" ]
then
break
fi
n="x$n"
echo "$f"
done
Ellers ser jeg for meg noen grusomheter a la:
while read f
do
if [ $n -eq 0 ]
then
n=1
elif [ $n -eq 1 ]
then
n=2
# ...
elif [ $n -eq 10 ]
then
break
fi
echo "$f"
done
Noen vil sikkert like å reversere rekkefølgen på denne saken.
| Ulempen er at vi mister begynnende mellomrom på en linje, så
| lesbarheten blir fort redusert. Tenk om du måtte editer et
| Python-program! ;)
Da blir det uansett for tungvindt å bruke cat/head/tail - det du
trenger er en ekte editor, for eksempel dd/sh. Fra beskrivelsen:
# this is a line editor using only /bin/sh, /bin/dd and /bin/rm
# /bin/rm is not really required, but it is nice to clean up temporary files
Den brukte å være tilgjengelig på http://dd.sh/, men den har
visst forsvunnet derifra. Du kan finne en kopi på
http://www.math.ntnu.no/~perhov/public/unix/dd.sh
--
Per Kristian Hove
Avd.ing Institutt for matematiske fag http://www.math.ntnu.no/~perhov/
NTNU Gløshaugen, Trondheim tel://73550234/ fax://73593524/
> Da blir det uansett for tungvindt å bruke cat/head/tail - det du
> trenger er en ekte editor, for eksempel dd/sh. Fra beskrivelsen:
Men problemet er jo at det _kun_ er statisk lenkede programmer som
antas å funke. /bin/dd er dynamisk lenket under Solaris.
Selvfølgelig kan man jo sørge for at alle disse fancy tingene som f
eks ed er statisk lenket.
| Det er litt meir pes å kode head når ein ikkje har anna enn
| "Turingaritmetikk" tilgjengeleg (unært talsystem).
Har ein ikkje?
Dersom du har /bin/dd, kan du addere, subtrahere, multiplisere
og dividere:
# 42 + 13
( dd if=/dev/zero bs=1 count=42
dd if=/dev/zero bs=1 count=13 ) 2>/dev/null | dd of=/dev/null bs=1
55+0 records in
55+0 records out
# 42 - 13
dd if=/dev/zero bs=1 count=42 2>/dev/null | dd of=/dev/null bs=1 skip=13
29+0 records in
29+0 records out
# 42 * 13
dd if=/dev/zero bs=42 count=13 2>/dev/null | dd of=/dev/null bs=1
546+0 records in
546+0 records out
# 42 / 13
dd if=/dev/zero bs=1 count=42 2>/dev/null | dd of=/dev/null bs=13
3+1 records in
3+1 records out
(Svaret er altså 3, du kan kun gjere heiltals-divisjon).
| Men problemet er jo at det _kun_ er statisk lenkede programmer som
| antas å funke. /bin/dd er dynamisk lenket under Solaris.
Ok, jeg fulgte ikke godt nok med i diskusjonen til å få med meg
at det var snakk om Solaris. På f.eks FreeBSD og NetBSD er
/bin/dd statisk lenket.
> Ok, jeg fulgte ikke godt nok med i diskusjonen til å få med meg
> at det var snakk om Solaris. På f.eks FreeBSD og NetBSD er
> /bin/dd statisk lenket.
Noen(TM) burde også lenke opp ed og vi statisk også, med det samme vi
påpeker svakheter i Solaris. :)
> On 12 Mar 2002 16:01:37 GMT, perhov+/dev/nu...@math.ntnu.no (Per
> Kristian Hove) said:
>
>
>>Ok, jeg fulgte ikke godt nok med i diskusjonen til å få med meg
>>at det var snakk om Solaris. På f.eks FreeBSD og NetBSD er
>>/bin/dd statisk lenket.
>>
>
> Noen(TM) burde også lenke opp ed og vi statisk også, med det samme vi
> påpeker svakheter i Solaris. :)
men da hadde vi jo ikke fått en sånn morsom tråd med alternativer :)
--
am
Don't drink and park - accidents cause people
> cat, head og tail.
>
> stort sett trenger man bare førstnevnte.
Og echo
> Og echo
... som er innebygget i /sbin/sh. Takk OG lov!
> On Tue, 12 Mar 2002 22:06:47 GMT, Jan Arne Fagertun <Jan.A.F...@trondheim.online.no> said:
>
> > Og echo
>
> ... som er innebygget i /sbin/sh. Takk OG lov!
Og ved nærmere ettertanke - unødvendig; cat kan brukes som echo
> On 12 Mar 2002, Jan Ingvoldstad wrote:
>
> > > Og echo
> >
> > ... som er innebygget i /sbin/sh. Takk OG lov!
>
> Og ved nærmere ettertanke - unødvendig; cat kan brukes som echo
No er ikkje cat innebygd, men korleis vil du implementere echo
vha. cat?
>
> No er ikkje cat innebygd, men korleis vil du implementere echo
> vha. cat?
>
Delvis med
cat <<EOF
Tekst
EOF
Men eg får ikkje denne til å erstatte 'ls', slik som echo kan.
--
Roger
> No er ikkje cat innebygd, men korleis vil du implementere echo
> vha. cat?
Implementere og implementere, fru Blom :
mtf23:(~) % cat
Hei
Hei
> Kjempetøft! Eg forandra promptet mitt (i bash) sporenstreks til:
>
> PS1=': [\u@\h \w]; '
> PS2=': && '
>
> Det er vanskeleg (eg vil tru umogleg) å lage ein PS2 som er ein
> null-op, mitt forslag taklar at forrige linja slutta med || eller &&,
> men ikkje \, |, ubalansert ' eller ".
Bzzzzt!
Dette har jeg brukt i 4 år nå:
PS1=': \h:\w; '
PS2=' '
og det fungerer veldig bra bare jeg ikke går inn i kataloger som har
';' i seg.
Jeg begynte å bruke det etter å ha sett på es som har ';' som default
prompt og tåler helt fint tomme statements som du får med ; på starten
av linja.
Steinar
> Kjetil Torgrim Homme <kjet...@haey.ifi.uio.no> writes:
>
> > PS2=': && '
> >
> > Det er vanskeleg (eg vil tru umogleg) å lage ein PS2 som er ein
> > null-op, mitt forslag taklar at forrige linja slutta med || eller &&,
> > men ikkje \, |, ubalansert ' eller ".
>
> Bzzzzt!
>
> Dette har jeg brukt i 4 år nå:
>
> PS1=': \h:\w; '
> PS2=' '
det er ikkje ein null-op viss forrige linje ikkje hadde balanserte
hermeteikn. (det er opplagt at den tome strengen vil fungere som PS2,
men eg likar å sjå forskjell på PS2 og at programmet ventar på stdin.)
du skal få poeng for KISS likevel :)
--
Kjetil T. [ nerd #6 -- http://nerdquiz.thathost.com ]