Go back to last place

Pagina: 1
Acties:

  • vdvleon
  • Registratie: Januari 2008
  • Laatst online: 08-06-2023
Hallo iedereen,

Ken je dat ook, dat als je via ssh op een server bezig bent en toch ooit weer eens je console moet sluiten. Als je dan weer verder wilt gaan (in de zelfde map) dan moet je daar weer 'helemaal' heen cd-en.

Het leek mij wel handig om een script te maken (als die nog niet bestaat) die onthoud waar je voor het laatst was, en dat je dan met een commando terug kan gaan naar die plek.

Ik bedoel dan zoiets:

code:
1
2
3
$ cd /path/to/directory
$ savelocation
$ exit


en dan later:

code:
1
2
3
$ gotolocation
$ pwd
/path/to/directory


Ik heb ooit een begin gemaakt voor een simpel script, maar dan stuit ik op een probleem. Namelijk als je in een bash script (of sh, etc.) cd aan roept, dan ga je in dat script leuk en aardig naar die locatie, maar buiten je script blijf je nog waar je bent.

Hoe is het mogelijk om in een bash/sh script je ergens heen te brengen (directory)?

Ik hoop dat ik duidelijk ben.

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

man bash
commands pushd en popd

ASSUME makes an ASS out of U and ME


  • Kees
  • Registratie: Juni 1999
  • Laatst online: 27-01 18:27

Kees

Serveradmin / BOFH / DoC
Je kan in een script dat niet doen, maar je zou het met aliassen kunnen proberen;

alias savecd='pwd > /tmp/lastdir'
alias loadcd='cd `cat /tmp/lastdir'

savecd
cd /random/what/ever
loadcd


En natuurlijk pushd/popd, maar afaik werken die alleen in je huidige sessie dmv de DIRSTACK environment variable.

[ Voor 22% gewijzigd door Kees op 29-05-2009 20:14 ]

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • vdvleon
  • Registratie: Januari 2008
  • Laatst online: 08-06-2023
@Kees!
Thnx! Het werkt.
Mooie truc.

@ H!GHGuY
Ik snap niet helemaal hoe pushd en popd werken, maar de aliases van Kees werken al ;)

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 27-01 18:27

Kees

Serveradmin / BOFH / DoC
vdvleon schreef op vrijdag 29 mei 2009 @ 20:16:
@Kees!
Thnx! Het werkt.
Mooie truc.

@ H!GHGuY
Ik snap niet helemaal hoe pushd en popd werken, maar de aliases van Kees werken al ;)
pushd en popd werken hetzelfde, alleen dan binnen 1 sessie. Dan doe je dus in 1 dir 'pushd' en als je later (in dezelfde sessie) terug wil doe je 'popd'

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • Wirf
  • Registratie: April 2000
  • Laatst online: 27-01 16:32
vdvleon schreef op vrijdag 29 mei 2009 @ 19:39:
Ik heb ooit een begin gemaakt voor een simpel script, maar dan stuit ik op een probleem. Namelijk als je in een bash script (of sh, etc.) cd aan roept, dan ga je in dat script leuk en aardig naar die locatie, maar buiten je script blijf je nog waar je bent.
Dit probleem (dat "cd" in een shellscript geen invloed heeft op je sessie) kun je oplossen door een punt voor je script-aanroep te zetten.

dus:
code:
1
$ . gotolocation


Maar de oplossing van kees is praktischer.

Heeft sinds kort zijn wachtwoord weer terug gevonden!


  • Trinsec
  • Registratie: Februari 2003
  • Laatst online: 27-01 19:22

Trinsec

Huffi-Muffi-Guffi

Naast dat, what about screen? Dan kan je letterlijk verderwerken.

when the Darkness fell upon us
when the Evil Ones came!
Creatures from the darkest pits of hell they were.
Trinsec's Journal


  • gertvdijk
  • Registratie: November 2003
  • Laatst online: 08:03
Trinsec schreef op vrijdag 29 mei 2009 @ 20:22:
Naast dat, what about screen? Dan kan je letterlijk verderwerken.
Ja, screen lijkt mij een veel logischere oplossing. Je console blijft dan in de achtergrond actief en je kan hem overal weer aankoppelen aan de machine waarmee je verbindt.

Kia e-Niro 2021 64kWh DynamicPlusLine. 3x Victron MP-II op 15kWh US5000 3f thuisbatterij met 3x25A→3x40A PowerAssist, Victron EVCS, 3200Wp HoyMiles zp. my GitHub, my blog


  • Kees
  • Registratie: Juni 1999
  • Laatst online: 27-01 18:27

Kees

Serveradmin / BOFH / DoC
gertvdijk schreef op zaterdag 30 mei 2009 @ 13:01:
[...]

Ja, screen lijkt mij een veel logischere oplossing. Je console blijft dan in de achtergrond actief en je kan hem overal weer aankoppelen aan de machine waarmee je verbindt.
Screen vind ik eigenlijk een onding om in te scrollen, zal wel aan mijn settings liggen, maar ik heb liever een putty scherm met 2M regels scrollback en logging open staan :)

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • Trinsec
  • Registratie: Februari 2003
  • Laatst online: 27-01 19:22

Trinsec

Huffi-Muffi-Guffi

Screen kan je loggen door ctrl-A H, dat is dus geen probleem.
Ff googelen, lijkt screen wel scrollback te ondersteunen: http://tuxtraining.com/20...ith-the-scrollback-buffer

Have fun. ;)

when the Darkness fell upon us
when the Evil Ones came!
Creatures from the darkest pits of hell they were.
Trinsec's Journal


  • ppl
  • Registratie: Juni 2001
  • Niet online

ppl

Screen is er voor wanneer je iets wilt doen en er later op terug wilt komen. In dit geval is dat dus niet van toepassing omdat je denkt klaar te zijn en er niet op terug wil komen. Als je nou te vroeg gejuicht hebt moet je dus alles weer gaan lopen terugzoeken. Screen kan je hierbij dan ook niet meer helpen omdat die dan al niet meer draait, die heb je afgesloten ;) Die scrollback buffer gebruiken is dan inderdaad een erg fijne oplossing, mooier zelfs dan die van Kees. Which also reminds me dat ik maar eens wat meer in screen moet gaan verdiepen, zitten toch best leuke dingen aan.

[ Voor 22% gewijzigd door ppl op 30-05-2009 18:01 ]


Verwijderd

Ik zou inderdaad voor TS screen gebruiken: dat werkt precies prima zoals hij wil.
Namelijk stoppen met waar je bezig was (CTRL+Z was toch suspend ofzo?), uitloggen(CTRL +D ofzo, is al weer een tijd geleden), bla bla bla bla, en als je weer verder wilt pak je 'm zo weer terug in dezelfde locatie enz.

[ Voor 59% gewijzigd door Verwijderd op 30-05-2009 18:15 ]


Verwijderd

Screen is inderdaad ideaal voor dit soort dingen :)

  • Trinsec
  • Registratie: Februari 2003
  • Laatst online: 27-01 19:22

Trinsec

Huffi-Muffi-Guffi

Ctrl-A d, detach screen. Terugkeren met screen -rd, kan vanaf elke (nieuwe) ssh sessie. De nieuwste screen (i.i.g. in Ubuntu 9.04) heeft zelfs wat nieuwe menu opties, inclusief de optie dat screen altijd opgestart wordt zodra je een nieuwe ssh sessie hebt, dus je zit altijd in screen zodat je altijd automatisch weer terug bent met waar je was gebleven in de vorige sessie. Dit ga ik zeker proberen op m'n nieuwe server, het is gewoon een persistente sessie dan. :)

when the Darkness fell upon us
when the Evil Ones came!
Creatures from the darkest pits of hell they were.
Trinsec's Journal

Pagina: 1