2011-06-05, 22:54
  #1
Medlem
raggarsvins avatar
Jag vill göra ett bash-skript som kör en binär fil. Den binära filen använder en mapp i min /home-mapp.
Låt os säga att om jag kör filen, så använder den mappen /home/jag/test/.

Jag vill nu på något sätt göra ett bash-skript som tillfälligt lurar binärfilen att den är i /home/jag, fast den egentligen är i /home/jag/hej
Skriptet ska alltså tillfälligt lura binärfilen att hej/ mappen är home-mappen.

Jag vet väl i princip hur jag ska göra, fast jag vet inte vad jag ska skriva kan man säga.
Skriptet ska först sätta att /home/jag/hej är home-mappen (ej permanent eller "globalt"). Sedan ska den köra binär-filen.

Någon som har någon idé?
Citera
2011-06-05, 23:00
  #2
Medlem
Det skulle inte funka med
mount --bind /home/jag /home/jag/hej
(kör ditt shit)
umount /home/jag/hej
?

Edit:
Funderade lite till och du kanske får vända på kommandot och göra tvärtom om du ska "lura" något var home-mappen finns.
__________________
Senast redigerad av 81er 2011-06-05 kl. 23:02.
Citera
2011-06-05, 23:20
  #3
Medlem
raggarsvins avatar
Citat:
Ursprungligen postat av 81er
Det skulle inte funka med
mount --bind /home/jag /home/jag/hej
(kör ditt shit)
umount /home/jag/hej
?

Edit:
Funderade lite till och du kanske får vända på kommandot och göra tvärtom om du ska "lura" något var home-mappen finns.
Känns inte som att jag vill mounta /home/jag till någon annan stans?
Citera
2011-06-06, 01:30
  #4
Moderator
vhes avatar
Kod:
HOME=/home/jag/hej myscript.sh
?

Alternativt, om du bara vill lura binären som körs i scriptet, och inte scriptet själv:

Kod:
#!/bin/sh
do_shit()
HOME=/home/jag/hej zebinary
do_more_shit()

Detta givet att den faktiskt använder miljövariabeln $HOME för att avgöra var din HOME-katalog ligger (vilket jag tror de flesta mjukvaror brukar göra).
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in