Recent Changes - Search:

Oktatás

* Programozás 1
  + feladatsor
  + GitHub oldal

* Szkriptnyelvek
  + feladatsor
  + quick link

Teaching

* Programming 1 (BI)
  ◇ exercises
  ◇ quick link

* Scripting Languages
  ◇ exercises
  ◇ quick link

teaching assets


Félévek

* aktuális (2023/24/2)
* archívum


Linkek

* kalendárium
   - munkaszüneti napok '20
* tételsorok
* jegyzetek
* szakdolgozat / PhD
* ösztöndíjak
* certificates
* C lang.
* C++
* C#
* Clojure
* D lang.
* Java
* Nim
* Scala


[ edit | logout ]
[ sandbox | passwd ]

Py3 /

20130919a

Eltérő viselkedés szimbolikus linken keresztül

Unix rendszereken megfigyelhető, hogy ha egy bináris állományt egy szimbolikus linken keresztül hívunk meg, akkor a program másképpen viselkedik.

Például ha Linuxra feltelepítjük a vim szövegszerkesztőt (pl. a vim-gnome csomaggal), akkor a /etc/alternatives könyvtárban a következő linkek jelennek meg:

jabba@nancy:/etc/alternatives$ ls -al vim view
lrwxrwxrwx 1 root root 18 Dec 15  2011 view -> /usr/bin/vim.basic
lrwxrwxrwx 1 root root 18 Dec 15  2011 vim -> /usr/bin/vim.basic

Látható, hogy mind a view, mind pedig a vim nevű szimbolikus link ugyanoda, ugyanarra a futtatható binárisra mutat. Mégis, ha egy file-t a vim paranccsal nyitunk meg, akkor azt tudjuk szerkeszteni is, a view paranccsal megnyitva viszont read-only módban nyílik meg. Ez meg hogy lehet?

Nos, varázslatról szó sincs. Ez egy ügyes trükk a szimbolikus linkeket felhasználva. A megoldást (még) nem árulom el, gondolkodjanak rajta. Próbálják megoldani a következő feladatot:

Feladat

Írjanak egy a-z.py nevű szkriptet, amit lefuttatva megkapjuk az angol ábécé kisbetűit a-tól z-ig. Tegyünk egy szimbolikus linket a szkriptre z-a.py néven. A z-a.py -t futtatva viszont az angol ábécé kisbetűit fordítva szeretnénk megkapni, vagyis z-től a-ig.

Futási minta:

$ ./a-z.py 
abcdefghijklmnopqrstuvwxyz
$ ./z-a.py 
zyxwvutsrqponmlkjihgfedcba
$ ls -al
total 12
drwxrwxr-x  2 jabba jabba 4096 Sep 19 11:59 .
drwxrwxrwx 35 jabba jabba 4096 Sep 19 11:51 ..
-rwx------  1 jabba jabba  430 Sep 19 11:59 a-z.py
lrwxrwxrwx  1 jabba jabba    6 Sep 19 11:58 z-a.py -> a-z.py
Cloud City

  

Blogjaim, hobbi projektjeim

* The Ubuntu Incident
* Python Adventures
* @GitHub
* heroku
* extra
* haladó Python
* YouTube listák


Debrecen | la France


[ edit ]

Edit - History - Print *** Report - Recent Changes - Search
Page last modified on 2013 October 09, 13:27