bash script?
Jag håller på att göra ett bash script och jag undrar hur man skriver för att få scriptet att flytta/kopiera en fil från en mapp till en annan?
Jag skrev:Rasmus skrev: cp /från/mapp/ett /till/mapp/två <-kopiera, Läggtill flaggan -R för att flytta mappar.
mv /från/mapp/ett /till/mapp/två <-flytta
Kod: Markera allt
#!/bin/bash
mkdir /home/robin/script3
cp /home/robin/tinicorp/files/* /home/robin/scripts3
Det fungerade galantmaths57 skrev: Det ser inte ut som om du kopierar några filer. Jag är inte så hemma på det här, men jag skulle försöka så här.Kod: Markera allt
#!/bin/bash mkdir /home/robin/script3 cp /home/robin/tinicorp/files/* /home/robin/scripts3
Kod: Markera allt
#!/bin/bash
gedit ~/tinicorp/txt/start
~/tinicorp/scripts/files.sh
gedit ~/tinicorp/txt/host
sudo gedit /etc/hosts
gedit ~/tinicorp/txt/gstreamer
gstreamer-properties
~/tinicorp/scripts/remove.sh
~/tinicorp/scripts/install.sh
~/tinicorp/scripts/flash9.sh
~/tinicorp/scripts/java.sh
gedit ~/tinicorp/txt/sources
sudo gedit /etc/apt/sources.list
~/tinicorp/scripts/update.sh
gedit ~/tinicorp/txt/prelink
sudo gedit /etc/default/prelink
~/tinicorp/scripts/clean.sh
gedit ~/tinicorp/txt/end
~/tinicorp/scripts/reboot.sh
exit
Kod: Markera allt
echo Hej, världen! > hej.txt
Kod: Markera allt
cat hej.txt
Kod: Markera allt
echo Hej, igen >> hej.txt
hmm den där fungerade inte så bra för mig =/maths57 skrev: Sessionsrutan är programmet gnome-session-properties, så du får ange det.
För att skriva till en fil använder du > tecknet. Så härTitta sedan i filen med följandeKod: Markera allt
echo Hej, världen! > hej.txt
Vill du lägga till mer i slutet på filen, då skriver du dubbla > tecken.Kod: Markera allt
cat hej.txt
Kod: Markera allt
echo Hej, igen >> hej.txt
Kod: Markera allt
#!/bin/bash
#
# nautilus-mount-iso
gksudo -u root -k /bin/echo "got r00t?"
sudo mkdir /media/"$*"
if sudo mount -o loop -t iso9660 "$*" /media/"$*"
then
if zenity --question --title "ISO Mounter" --text "$* Successfully Mounted.
Open Volume?"
then
nautilus /media/"$*" --no-desktop
fi
exit 0
else
sudo rmdir /media/"$*"
zenity --error --title "ISO Mounter" --text "Cannot mount $*!"
exit 1
fi
Byt ut alla /home/robin/ mot ~/ så blir det bra.Lulle skrev: Hur gör jag så att scriptet känner av vad användarmappen heter?
Jag hade tänkt att lägga upp scriptet för dom som är intresserade av det.
Men då kna ju inte sökvägen vara text: /home/robin/tinicorp/.
Så hur gör jag så att scriptet känner av vad användaren heter?
Tänk på att det där inte kopierar dålda filer som börjar med en punkt.Lulle skrev:Det fungerade galantmaths57 skrev: Det ser inte ut som om du kopierar några filer. Jag är inte så hemma på det här, men jag skulle försöka så här.Kod: Markera allt
#!/bin/bash mkdir /home/robin/script3 cp /home/robin/tinicorp/files/* /home/robin/scripts3
Tackar.
Ja, det kallas cronjob.Lulle skrev: Går det inte att göra så att bash scriptet lägger till nya sessioner som ska starta varje gång datorn startar?
Kan man inte göra så att ett script körs var 4h te.x?
T.ex...Lulle skrev: Edit1: Kan man göra så att scriptet ändrar något på te.x 34 raden i ett .txt dokument?
Kod: Markera allt
sed -i '34s/från/till/' fil.txt
Jag tror du vill använda något som kallas "here-document" ...Lulle skrev: Jag ska skriva följande till en ny fil, och dom där commandona fungerar inte för mig då :s
Kod: Markera allt
cat <<\EOF >ny_fil.txt
#!/bin/bash
#
# nautilus-mount-iso
gksudo -u root -k /bin/echo "got r00t?"
sudo mkdir /media/"$*"
if sudo mount -o loop -t iso9660 "$*" /media/"$*"
then
if zenity --question --title "ISO Mounter" --text "$* Successfully Mounted.
Open Volume?"
then
nautilus /media/"$*" --no-desktop
fi
exit 0
else
sudo rmdir /media/"$*"
zenity --error --title "ISO Mounter" --text "Cannot mount $*!"
exit 1
fi
EOF
Fungerade klockrennt tackarByt ut alla /home/robin/ mot ~/ så blir det bra.
Kan du förklara hur cronjob fungerar?Ja, det kallas cronjob.
Har du lust att förklara lite mer hur detta fungerar?T.ex...Kod: Markera allt
sed -i '34s/från/till/' fil.txt
Fungerade klcokrent tackarJag tror du vill använda något som kallas "here-document" ...
Kod: Markera allt
cat <<\EOF >ny_fil.txt #!/bin/bash # # nautilus-mount-iso gksudo -u root -k /bin/echo "got r00t?" sudo mkdir /media/"$*" if sudo mount -o loop -t iso9660 "$*" /media/"$*" then if zenity --question --title "ISO Mounter" --text "$* Successfully Mounted. Open Volume?" then nautilus /media/"$*" --no-desktop fi exit 0 else sudo rmdir /media/"$*" zenity --error --title "ISO Mounter" --text "Cannot mount $*!" exit 1 fi EOF
Jag antar att du vill veta hur du använder det och inte hur det fungerar.Lulle skrev: Kan du förklara hur cronjob fungerar?
Kod: Markera allt
crontab -e
Kod: Markera allt
EDITOR=nano crontab -e
Kod: Markera allt
* * * * * /usr/local/bin/mitt_skript.sh
Kod: Markera allt
7,19 */4 3-8 2 * /usr/local/bin/mitt_skript.sh
Lulle skrev:Har du lust att förklara lite mer hur detta fungerar?Kod: Markera allt
sed -i '34s/från/till/' fil.txt
Leta reda på en nybörjarguide om sed.Lulle skrev: Följande fattas i mitt script sedan postar jag det:
1. Ta bort en rad ur ett dokument/fil.
2. lägga till en rad i ett dokument/fil.
Kod: Markera allt
sed -i '12d' fil.txt
Kod: Markera allt
sed -i '12iNÅGOT' fil.txt
Kod: Markera allt
sed -i '12aNÅGOT' fil.txt
Kod: Markera allt
sed -i '12cNÅGOT' fil.txt
Kod: Markera allt
sed -i '12s/NÅGOT/NÅGOT ANNAT/' fil.txt
Lulle skrev: Har 2 till saker som jag behöver hjälp med och det är:
2. uppdatera "Språkstöd" och installera nya om det behövs via terminalen
Kod: Markera allt
sudo apt-get install language-pack-sv language-pack-sv-base language-pack-gnome-sv language-pack-gnome-sv-base language-support-sv
Tackar!Rasmus skrev:Lulle skrev: Har 2 till saker som jag behöver hjälp med och det är:
2. uppdatera "Språkstöd" och installera nya om det behövs via terminalenByt ut 'language-pack-gnome-sv' och 'language-pack-gnome-sv-base' mot 'language-pack-kde-sv' och 'language-pack-kde-sv-base' om du kör kdeKod: Markera allt
sudo apt-get install language-pack-sv language-pack-sv-base language-pack-gnome-sv language-pack-gnome-sv-base language-support-sv
Ubuntu = gnome, Kubuntu = kde, Xubuntu = xfceLulle skrev: Men nu kommer en pinsam fråga....
Jag kör Ubuntu 7.10 jag antar att det är Gnome eller?
Kod: Markera allt
echo $GDMSESSION
Kod: Markera allt
sudo apt-get install language-pack-$GDMSESSION-sv language-pack-$GDMSESSION-sv-base
Tyvärr inte, menar du så program "autostartas"?Lulle skrev: Ingen som vet hur man lägger till saker i sessioner med terminalen?
Tyvärr inte, menar du så program "autostartas"?Lulle skrev: Ingen som vet hur man lägger till saker i sessioner med terminalen?
Ett skript för att räkna 5+5 kan se ut så härRasmus skrev: Jag lånar tråden lite.
- Jag undrar hur man kan ta output från zenity --entry och sparar det i en varbal?(så jag senare kan nå det med $INPUT)
- Räkna med bash, går det? i python kunda jag skriva 5+5 för att få ut 10, jag kunde även skriva 'hej'*7 för att skriva hej 7
gånger. Hur gör man det i bash?- Vad var kommandot så man kan se vart i systemet man är?
- När man kör chmod på en fil blir man tvungen att skriva rättigheterna med siffror, fins det en bra manual/guide som tar upp alla möjliga rättigheter tex. -wx, -w- och --x?
Kod: Markera allt
#!/bin/bash
let i=5+5
echo $i
Kod: Markera allt
#!/bin/bash
x=7
for i in `seq 1 $x`;
do
echo $x
done
Tack.KiviE skrev: [mycket text]
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.