Portál AbcLinuxu, 19. dubna 2024 12:06


Dotaz: Odhlášení v shell skriptu

14.1.2007 21:16 Krtek
Odhlášení v shell skriptu
Přečteno: 191×
Odpovědět | Admin
Dobrý večer, píšu si jednoduchý skript, je v něm potřeba použít specifického uživatele, bohužel ale nevím jak ho na konci odhlásit (exit bohužel nefunguje)

Přiklad:

#! /bin/sh

su user

mkdir dir

exit

Dekuji za rady.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.1.2007 21:22 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: Odhlášení v shell skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
To co tě zajímá bude asi parametr -c u programu su.
$ man su
...
       -c, --commmand=COMMAND
              pass a single COMMAND to the shell with -c
...
-- Nezdar není hanbou, hanbou je strach z pokusu.
14.1.2007 21:22 diverman | skóre: 32 | blog: život s tučňáčkem
Rozbalit Rozbalit vše Re: Odhlášení v shell skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
co takhle
su user -c "mkdir dir"
?
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
14.1.2007 21:25 Krtek
Rozbalit Rozbalit vše Re: Odhlášení v shell skriptu
Dekuji za odpovedi, to bohuzel neni ono, ten skript bude mit vice nez par prikazu za jineho uzivatele.
14.1.2007 21:28 diverman | skóre: 32 | blog: život s tučňáčkem
Rozbalit Rozbalit vše Re: Odhlášení v shell skriptu
co treba
su user -c "mdir dir;mkdir dir2"
nebo dokonce
su user -c "./druhy_skript.sh"
Kde druhy_skript.sh bude skript pro toho tveho uzivatele?
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
14.1.2007 21:30 Krtek
Rozbalit Rozbalit vše Re: Odhlášení v shell skriptu
Vyborne, trosku me odradilo to pass a single COMMAND to the shell with -c, ta druha varianta je vyborny napad. Dekuji za radu.
14.1.2007 21:32 diverman | skóre: 32 | blog: život s tučňáčkem
Rozbalit Rozbalit vše Re: Odhlášení v shell skriptu
no on to ani nemusi byt skirpt v externim souboru, ale treba nadefinovana funkce
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
14.1.2007 22:03 Krtek
Rozbalit Rozbalit vše Re: Odhlášení v shell skriptu
No ted jsem to s tou fci zkousel a pise to No such file or directory, to znamena, ze asi nepochopil, ze je to fce, muzete mi prosim uvest nejaky priklad.
14.1.2007 22:09 diverman | skóre: 32 | blog: život s tučňáčkem
Rozbalit Rozbalit vše Re: Odhlášení v shell skriptu
Aha, myslel jsem, ze bude fungovat:
#!/bin/bash

function funkce()
{
        echo blabla
}

su user -c funkce
...ale nefunguje :-(
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
15.1.2007 00:41 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Odhlášení v shell skriptu

bash(1):

If the shell is started with the effective user (group) id not equal to the real user (group) id, and the -p option is not supplied, no startup files are read, shell functions are not inherited from the environment, the SHELLOPTS variable, if it appears in the environment, is ignored, and the effective user id is set to the real user id. If the -p option is supplied at invocation, the startup behavior is the same, but the effective user id is not reset.
15.1.2007 08:17 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Odhlášení v shell skriptu
cat << ENDOFUSERSCRIPT | su user
...
...
...
ENDOFUSERSCRIPT
... a žiadne blbé poznámky o cat, prosím :-)
15.1.2007 11:54 wolf09
Rozbalit Rozbalit vše Re: Odhlášení v shell skriptu bez cat
su user << ENDOFUSERSCRIPT ... ... ENDOFUSERSCRIPT
19.1.2007 01:10 tucniak
Rozbalit Rozbalit vše Re: Odhlášení v shell skriptu

Ake blbe poznamky by mohli byt?

Ved je to krasne, take... poeticke. :-)
19.1.2007 12:41 Pavel1 | skóre: 33
Rozbalit Rozbalit vše Re: Odhlášení v shell skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Já ve skriptu používám logout . To by Ti také nešlo?
19.1.2007 15:11 m
Rozbalit Rozbalit vše Re: Odhlášení v shell skriptu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co zkusit pouzit sudo ?

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.