Toon posts:

VI scripting

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hey,

Ik moet voor school een paar VI scriptjes maken in ubuntu.

Ik wou beginnen met het bekende hello world script, echter heb ik nu een vraagje.

Ik begin zo:

'vi hello.sh'

dan voer ik het script in:

#! /bin/sh
#

Echo "hello world"

Dan wil ik het bestand opslaan, maar hoe??

Dan wou ik 'chmod 755 hello.sh' uitvoeren

p.s. het kan zijn dat ik sowieso al iets fout doe, aangezien dit me eerste script is. Ik hoop dat jullie funky genoeg zijn om mij even te helpen

Alvast bedankt vrienden,

Eiwit-kanon!

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Waarom maak je shellscriptjes als je vi-scriptjes moet maken, en wat is er mis met de duizenden vi-tutorials, die stuk voor stuk uitleggen hoe je moet opslaan? :)

  • PowerSp00n
  • Registratie: Februari 2002
  • Laatst online: 17-11-2025

PowerSp00n

There is no spoon

Ik denk eigenlijk eerder dat hij bash/shellscriptjes moet maken en vi als editor moet/gaat gebruiken... Voor de commands in vi, pak er eens een manual of eventueel cheat sheet bij die zijn vast wel ergens te vinden. Het werken in vi is even wennen maar werkt uiteindelijk wel erg fijn :)...

Verwijderd

Installeer Vim (vi improved) en doe vimtutor. Daarin leer je de basics van de editor.

Overigens maak je een shell-script, de eerste regel betekent basically dat het de bedoeling is dat het script door /bin/sh wordt geïnterpreteerd. Die eerste regel heet "shebang". Als een bestand executable is kun je het uitvoeren. De shell zal het script laten uitvoeren door de interpreter die je op de shebang regel hebt gezet. Bij sommige interpreters kun je nog wat extra opties meegeven, voor Perl bijvoorbeeld #!/usr/bin/perl -w

Eigenlijk wordt door de shell het volgende uitgevoerd:
/bin/sh <jouwbestand>

[ Voor 7% gewijzigd door Verwijderd op 31-05-2009 15:37 ]


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 13:58
PowerSp00n schreef op zondag 31 mei 2009 @ 15:26:
Ik denk eigenlijk eerder dat hij bash/shellscriptjes moet maken en vi als editor moet/gaat gebruiken... Voor de commands in vi, pak er eens een manual of eventueel cheat sheet bij die zijn vast wel ergens te vinden. Het werken in vi is even wennen maar werkt uiteindelijk wel erg fijn :)...
Werkt heel fijn... totdat je in elke andere editor ook steeds op ESC zit te rammen en al je mailtjes afgesloten worden met :wq :D

Verwijderd

vi owns. Alleen al vanwege z,n regex mogelijkheden.

  • phobosdeimos
  • Registratie: Augustus 2007
  • Laatst online: 10:04
vi ownt redelijk weinig, het is vooral vim dat grandioos ownt ;-)

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

Om maar even een beetje te stoken, emacs werkt stukken lekkerder dan vi/vim. De dual mode van vi/vim is echt behoorlijk frustrerend imho :p.
Serieus, @topicstart, verdiep je goed in beide verchillende onderdelen. Een shellscript schrijven is iets compleet anders dan en vi/vim te leren werken. Over Vi/Vim, gebruik de vimtutor, en hang een cheatsheet boven je bed, en aan je bureaulamp. Op die manier blijf je altijd alert :+ . Het is even een behoorlijke leercurve, maar wanneer je eenmaal met zo'n editor kan werken, zal dit je de rest van je leven een hele hoop kilometers muizen en tijdswinst opleveren.
Over SH, lees het een en ander op dit soort pagina's, zodat je weet waar je aan begint. Verdiep je ook eventueel eens in SH vs BASH, zodat je een eventuele 'overstap' kan doen naar BASH, wat toch wel enkele voordelen heeft.
offtopic:
Ik realiseer me dat beide editors _erg_ goed zijn, en dat het net is wat je gewend bent. Maar, een beetje de draak ermee steken kan geen kwaad ^^

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.


Verwijderd

Topicstarter
Oke duidelijk, het gaat inderdaad om shell scripting doormiddel van de vi(m)-editor....ik zal de tuts proberen te volgen, maar geen enkele waarop opstaat hoe ik het moet opslaan.. bedankt voor jullie reacties anyway

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

Verwijderd schreef op zondag 31 mei 2009 @ 20:08:
Oke duidelijk, het gaat inderdaad om shell scripting doormiddel van de vi(m)-editor....ik zal de tuts proberen te volgen, maar geen enkele waarop opstaat hoe ik het moet opslaan.. bedankt voor jullie reacties anyway
Het is inmiddels al gezegd, maar [esc] ->[:]->[w]->[q] slaat je file op :)

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.


  • nsa1984
  • Registratie: Maart 2005
  • Laatst online: 27-01 17:11
icyx schreef op zondag 31 mei 2009 @ 20:22:
[...]

Het is inmiddels al gezegd, maar [esc] ->[:]->[w]->[q] slaat je file op :)
Nog correcter is.
[esc][:][w]-[naam van je bestand als je dit wilt veranderen] Slaat je bestand op. Waarbij - voor een spatie staat. En [x] voor een toets.
[esc][:][q]Sluit de editor.
En doormiddel van [!] Kun je bekend maken dat je het "echt" wilt.

De waarheid is leuk, maar hoe heb je die gevonden?


  • freyk
  • Registratie: September 2003
  • Laatst online: 03-01 12:48
Gebruik ":w" om de boel op te slaan.

Persoonlijk vind ik de "besturing" van VI maar lastig, vanwege die verschillende modussen en die toetscommando's. Nee, geeft mij maar de simpele mcedit of nano.

  • Emmeau
  • Registratie: Mei 2003
  • Niet online

Emmeau

All your UNIX are belong to us

of als de file reeds een naame heeft [esc]ZZ

(de Z's zijn dus shift-Z's)

If you choose to criticise you choose your enemies


  • orillion
  • Registratie: April 2006
  • Laatst online: 12:20
In plaats van :wq kun je ook gewoon :x indrukken, scheelt weer een toets :9

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

Zoals ik al zei, ik ben meer van emacs :p Maar goed, weer wat geleerd!

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.


Verwijderd

Ja, maar emacs vind je niet op alle System V, BSD en Linux standaard geinstalleert staan.
vi of vim daarin tegen wel.

Verwijderd

VIM rocks!

Ontopic: als je in de shell vimtutor intikt kom je bij een VIM tutorial terecht. Als je die doorneemt dan heb je de basis redelijk onder de knie.

  • icyx
  • Registratie: Januari 2007
  • Niet online

icyx

chown -R us ./base

Verwijderd schreef op zondag 31 mei 2009 @ 21:31:
Ja, maar emacs vind je niet op alle System V, BSD en Linux standaard geinstalleert staan.
vi of vim daarin tegen wel.
True, dat is inderdaad zo. Gelukkig kan ik , mocht ik het niet zelf even kunnen installeren, wel omgaan met de basisfunctionaliteit van Vi/Vim. En we hebben altijd man nog ;)

When you think you’ve succeeded / but something’s missing / means you have been defeated / by greed, your weakness.


  • jelly
  • Registratie: Mei 2006
  • Laatst online: 28-11-2025

jelly

Arch Linux

http://www.viemu.com/a_vi...cheat_sheet_tutorial.html

Deze cheatsheet vond ik zelf wel handig aangezien hij grafisch is . In het begin is het een beetje lastig maar als je de basis kent is het niet moelijk meer er zijn alleen zoveel opties :D _/-\o_

Keep it simple stupid

Pagina: 1