bash script?

Här diskuterar vi skal, kommandon och klassiska linuxverktyg.
KiviE
Inlägg: 2157
Blev medlem: 25 okt 2007, 14:00
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Luleå

SV: bash script?

Inlägg av KiviE »

Rasmus skrev: Men for i in `seq 1 $x`; skriver på en ny rad, jag vill skriva dem på en rad, och vad jag förstog funkade den bara på siffror:

Kod: Markera allt

pajn@pajn-desktop:~$ x='hej'
pajn@pajn-desktop:~$ for i in `seq 1 $x`; do     echo $x; done
seq: felaktigt flyttalsargument: hej
Försök med "seq --help" för mer information.
Fixade även fråga ett, pwd gav mig ett nytt sätt att tänka :)
Ah tänkte att det var samma siffra du ville skriva ut flera ggr ;)

Kod: Markera allt

for i in `seq 1 7`; 
do
     echo 'hej'; 
done
Dock blir inte det här heller på samma rad... men ska leta lite och se om jag hittar hur man gör.
KiviE
Inlägg: 2157
Blev medlem: 25 okt 2007, 14:00
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Luleå

SV: bash script?

Inlägg av KiviE »

Hittade inget direkt bra sätt men så här kan man alltid göra

Kod: Markera allt

for i in `seq 1 7`; 
do
     row=$row'hej' 
done

echo $row
Någon annan här kan garanterat ett bättre sätt. Har jag själv aldrig gjort något i bash egentligen.
Användarvisningsbild
Rasmus
Inlägg: 2291
Blev medlem: 07 sep 2006, 18:33
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Svalsta

SV: bash script?

Inlägg av Rasmus »

KiviE skrev: Hittade inget direkt bra sätt men så här kan man alltid göra

Kod: Markera allt

for i in `seq 1 7`; 
do
     row=$row'hej' 
done

echo $row
Någon annan här kan garanterat ett bättre sätt. Har jag själv aldrig gjort något i bash egentligen.
Tack, funka perfekt.

Edit:
En fråga till, hur gör man för att kolla längden på ord. I python: len('hej') men i bash?

Undrar även över Lulles fråga hur lägga till i autostart?
Kollade källkoden till screenlets-manager, den lägger en .desktop fil i ~/.config/autostart. Men då till frågan, vad är en .desktop fil? och hur skapar man en sådan?
Senast redigerad av 1 Rasmus, redigerad totalt 5 gånger.
KiviE
Inlägg: 2157
Blev medlem: 25 okt 2007, 14:00
OS: Ubuntu
Utgåva: 22.04 Jammy Jellyfish LTS
Ort: Luleå

SV: bash script?

Inlägg av KiviE »

Rasmus skrev: Edit:
En fråga till, hur gör man för att kolla längden på ord. I python: len('hej') men i bash?
Så här kan du göra

Kod: Markera allt

i='hej'

echo ${#i}
Användarvisningsbild
Rasmus
Inlägg: 2291
Blev medlem: 07 sep 2006, 18:33
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Svalsta

SV: bash script?

Inlägg av Rasmus »

Tack!  :D
Lånar tråden igen (blev fler frågor än jag trodde frånbörjan)
1. Hur läser man 12 i en fil? ni har tagit upp hur man ändra,lägger till och tar bort men inte hur man läser?

2. Hur gör man en fråga liknande if men som kollar om det innehåller "NÅGOT" (om det tillexempel står "ubuntu | kubuntu | xubuntu" så ska den kunna känna igen "ubuntu" och sedan utföra funktion ubu)
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

SV: bash script?

Inlägg av mcNisse »

Rasmus skrev: Tack!  :D
Lånar tråden igen (blev fler frågor än jag trodde frånbörjan)
1. Hur läser man 12 i en fil? ni har tagit upp hur man ändra,lägger till och tar bort men inte hur man läser?
En enkel while loop som läser en fil och skriver ut den. Du kan lägga till så många variabler som du behöver till read. Allt som inte får plats, dvs du har fler fält än variabler, hamnar i sista variabeln. Det är därför allt hamnar i line i mitt exempel.

Kod: Markera allt

while read line < file
do
    echo $line
done
Rasmus skrev: 2. Hur gör man en fråga liknande if men som kollar om det innehåller "NÅGOT" (om det tillexempel står "ubuntu | kubuntu | xubuntu" så ska den kunna känna igen "ubuntu" och sedan utföra funktion ubu)

Kod: Markera allt

if grep -q ubuntu file
then
   ubu
fi
KDE 4.5 SC är ute i det fria!!! Tjoho

Stagnation is good for nobody - after all if you don't progress you end up with gnome
Användarvisningsbild
Rasmus
Inlägg: 2291
Blev medlem: 07 sep 2006, 18:33
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Svalsta

SV: bash script?

Inlägg av Rasmus »

mcNisse skrev:
Rasmus skrev: Tack!  :D
Lånar tråden igen (blev fler frågor än jag trodde frånbörjan)
1. Hur läser man 12 i en fil? ni har tagit upp hur man ändra,lägger till och tar bort men inte hur man läser?
En enkel while loop som läser en fil och skriver ut den. Du kan lägga till så många variabler som du behöver till read. Allt som inte får plats, dvs du har fler fält än variabler, hamnar i sista variabeln. Det är därför allt hamnar i line i mitt exempel.

Kod: Markera allt

while read line < file
do
    echo $line
done
Förlåt, jag vill läsa på rad tolv inte läsa tolv :-[.

Förövrigt funkade det bra, tack.
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

SV: bash script?

Inlägg av Konservburk »

Rasmus skrev: Förlåt, jag vill läsa på rad tolv inte läsa tolv :-[.

Förövrigt funkade det bra, tack.

Kod: Markera allt

sed -n '12p' fil.txt
Skriv svar

Återgå till "Terminalforum"