Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Apr 2013

Linux Bash script

Hej alla! Jag behöver endast hjälp med nummer 2, nr 1 har jag redan klarat, jag hittar verkligen inte något svar varken google eller youtube. Kan någon snälla hjälpa mig?

1. Skapa en textfil i din hemmakatalog med valfri text i. Skapa en ny mapp i den hemmakatalog och kopiera textfilen till denna nya katalog.
Den nya filen ska ha ett annat namn än den ursprunliga texten.

2. Du ska skapa en korrekt scriptfil som åstadkommer ovanstående.
Dock ska den ursprunliga textfilen nu istället ha information om vilka filer som finns i din hemkatalog.

tack!

det blev konstigt
Trädvy Permalänk
Rekordmedlem
Plats
Salstad
Registrerad
Feb 2009

Låter som en läxa ? Tipset är att du nog borde lära dig "I/O redirection"

Ryzen 5 2400G, Asus ROG STRIX B350-F Gaming, 500GB Samsung 970EVO NVMe M.2 och en väldig massa masslagring. Seasonic Focus+ Gold 650W, Antec P 180 med Schyte o Sharkoon fläktar via en t-balancer, Tittar på en Acer ET430Kbmiippx 43" 4K
Främre ljudkanalerna återges via Behringer DCX2496, högtalare Truth B3031A, Truth B2092A Har också Oscilloskop, mätmikrofon och en Colorimeter.

Trädvy Permalänk
Medlem
Plats
~/
Registrerad
Dec 2005

@Dritonkb: Kan du förklara vad du kommit fram till hittills och var du kör fast? Tänker inte ge dig facit för då lär du dig inget, men om du berättar hur du tänker så kanske vi kan hjälpa dig.

PRIME X370-PRO | R7 1700X | NH-D15 | 32GiB DDR4-2400 CL14 | 500GiB 850 EVO | 3TiB WD Red | 500GiB HDD | Nitro R9 Fury | SuperNOVA 750 G2 | Define S | MG279Q | HD650 | Ducky Secret | Ducky One 2 | Debian Sid

Trädvy Permalänk
Medlem
Plats
Östersund
Registrerad
Jan 2010
Skrivet av Dritonkb:

Hej alla! Jag behöver endast hjälp med nummer 2, nr 1 har jag redan klarat, jag hittar verkligen inte något svar varken google eller youtube. Kan någon snälla hjälpa mig?

1. Skapa en textfil i din hemmakatalog med valfri text i. Skapa en ny mapp i den hemmakatalog och kopiera textfilen till denna nya katalog.
Den nya filen ska ha ett annat namn än den ursprunliga texten.

Om du redan klarat av att skapa en textfil så bör resterande steg vara relativt enkelt.

Skrivet av Dritonkb:

2. Du ska skapa en korrekt scriptfil som åstadkommer ovanstående.
Dock ska den ursprunliga textfilen nu istället ha information om vilka filer som finns i din hemkatalog.

tack!

Kolla på redirections: https://tiswww.case.edu/php/chet/bash/bashref.html 3.6

Tänk på att du kan använda "ls" för att visa vad som finns där du är, detta kan du sedan skicka till något annat. Till exempel en textfil.

Observera även att det redan finns lösningar för exakt det du vill göra på google, jag hittade hundratals av dom.

Maximus X Hero - 8700k @5.1GHz - H115i - 32GB LPX@3466MHz - MSI 980Ti Gaming - EVGA SuperNova 750 G2 - Asus vg248qe - FD R5

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Apr 2013

@Brisse: Hej!
Jag vet inte vad jag kommit fram till eller om jag ens har gjort det. Jag vet inte om jag ska göra likadant som uppgift 1 fast i nano .txt filen jag skapar och sedan lägga till något. jag hittar: ls -l > filens_namn.txt.. är helt lost suttit flera timmar o försökt lösa problemet..

Tack!

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Apr 2013
Skrivet av Brisse:

@Dritonkb: Kan du förklara vad du kommit fram till hittills och var du kör fast? Tänker inte ge dig facit för då lär du dig inget, men om du berättar hur du tänker så kanske vi kan hjälpa dig.

Hej!
Jag vet inte vad jag kommit fram till eller om jag ens har gjort det. Jag vet inte om jag ska göra likadant som uppgift 1 fast i nano .txt filen jag skapar och sedan lägga till något. jag hittar: ls -l > filens_namn.txt.. är helt lost suttit flera timmar o försökt lösa problemet..

Tack!

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Apr 2013
Skrivet av Elghinnarisa:

Om du redan klarat av att skapa en textfil så bör resterande steg vara relativt enkelt.

Kolla på redirections: https://tiswww.case.edu/php/chet/bash/bashref.html 3.6

Tänk på att du kan använda "ls" för att visa vad som finns där du är, detta kan du sedan skicka till något annat. Till exempel en textfil.

Observera även att det redan finns lösningar för exakt det du vill göra på google, jag hittade hundratals av dom.

Yes första uppgiften klarade jag. Och nr 2 är säkert skit enkelt den med men jag är helt ny inom Linux och jag ser säkerligen svaret framför mig men vet inte hur ett sådant script ska se ut

Trädvy Permalänk
Medlem
Plats
~/
Registrerad
Dec 2005

Ja, det är ungefär som uppgift 1 men du lägger in kommandona i ett bash-skript.

Kör nano och skapa en skriptfil:

nano script.sh

På första raden ska du alltid ha ditt shebang.

#!/bin/bash

Sedan lägger du in de kommandon du körde i uppgift 1 vilket uppskattningsvis tar upp de tre nästa raderna.

När du är färdig och vill köra skriptet måste du först göra filen körbar.

chmod +x script.sh

Sedan kan du köra skriptet på följande sätt.

./script.sh

Har en fungerande lösning men jag håller den för mig själv till du försökt på egen hand.

PRIME X370-PRO | R7 1700X | NH-D15 | 32GiB DDR4-2400 CL14 | 500GiB 850 EVO | 3TiB WD Red | 500GiB HDD | Nitro R9 Fury | SuperNOVA 750 G2 | Define S | MG279Q | HD650 | Ducky Secret | Ducky One 2 | Debian Sid

Trädvy Permalänk
Medlem
Plats
Västra Götaland
Registrerad
Jun 2013

Om du bara vill ha svaret.

nano ~/script.sh

#!/bin/bash echo valfri text > ~/textfil mkdir ~/nymapp cp ~/textfil ~/nymapp/nyttnamn ls -la ~ > ~/textfil

chmod +x ~/script.sh ./script.sh (alternativt 'bash ~/script.sh')

Trädvy Permalänk
Medlem
Plats
Falun
Registrerad
Aug 2005

lek runt lite med echo, ls, såna här pinnar | och >
.txt behöver du inte hålla på med tycker jag. windowsgrej.
kanske gjorde jag det för lätt nu. de andra har varit lite hårdare. lycka till!

She goes to finos

Trädvy Permalänk
Medlem
Plats
~/
Registrerad
Dec 2005

Jaha, nu när det fullständiga svaret redan finns här kan jag lika gärna dela med mig av min variant också.

#!/bin/bash ls -p | grep -v / > ~/file-list.txt mkdir ~/file-list cp ~/file-list.txt ~/file-list/list-file.txt

PRIME X370-PRO | R7 1700X | NH-D15 | 32GiB DDR4-2400 CL14 | 500GiB 850 EVO | 3TiB WD Red | 500GiB HDD | Nitro R9 Fury | SuperNOVA 750 G2 | Define S | MG279Q | HD650 | Ducky Secret | Ducky One 2 | Debian Sid

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Apr 2013
Skrivet av Brisse:

Jaha, nu när det fullständiga svaret redan finns här kan jag lika gärna dela med mig av min variant också.

#!/bin/bash ls -p | grep -v / > ~/file-list.txt mkdir ~/file-list cp ~/file-list.txt ~/file-list/list-file.txt

japp.. tack för hjälpen iaf och att du inte avslöjade svaret direkt! jag får lära mig det senare har lite tidspress då jag är sen med denna uppgiften! God jul!

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Apr 2013
Skrivet av zin105:

Om du bara vill ha svaret.

nano ~/script.sh

#!/bin/bash echo valfri text > ~/textfil mkdir ~/nymapp cp ~/textfil ~/nymapp/nyttnamn ls -la ~ > ~/textfil

chmod +x ~/script.sh ./script.sh (alternativt 'bash ~/script.sh')

haha... Tack för avslöjandet!

Trädvy Permalänk
Medlem
Registrerad
Sep 2017

Alltså, enkelt förklarat så används bashscript ofta för att köra flera kommandon utan att behöva skriva allt. I stället räcker det med att kalla på scriptfilens namn eller det alias du gett scriptet.

Hur man bygger ett script är i princip likadant som att skriva allting själv och har du redan skapat en .txt via terminal så har du ju redan större delen av scriptet färdigt