Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: Komenad alias w skrypcia dla powloki Bash.  (Przeczytany 10067 razy)

wezyr007

  • Gość
Komenad alias w skrypcia dla powloki Bash.
« dnia: 2006-01-02, 21:32:26 »
Witam po mojej pierwszej istalacji linuxa napotkalem problem z karta graficzna tzn z voodoo 2 linux rozpoznaje mi ja jako karte TV ale w \\" konfiguracja komputera / sprzet \\"

Różne
Moduł: nieznany

ale w IDENTYFIKACJA I POŁĄCZENIE WSZYSTKO MI ZNALAZŁ I WYKRYŁ nie wiem czy to wina serownikow czy czegos inneg. niewiem jak sie je wogole instalujesterowniki linuxowe  jezeli mozecie to dacjie linka do sterownikow do voodoo 2 pod linuxa i napiszcie najlepiej krok po kroku jak je zainstalowac poprawnie.
mam linux mandrake 10.1

chmooreck

  • Gość
Komenad alias w skrypcia dla powloki Bash.
« Odpowiedź #1 dnia: 2006-01-02, 23:58:57 »
lektura podstawowa:
http://rtfm.killfile.pl

potem wejdz na www.google.pl i wyszukaj:
linux voodoo2 xorg
drugi link... takie to trudne ?

nibynic

  • Gość
Komenad alias w skrypcia dla powloki Bash.
« Odpowiedź #2 dnia: 2006-01-02, 21:08:48 »
Witam

Napisalme sobie krocitki skrypt:

#!/bin/bash/
function komendy
{
alias pokaz="ls -l";
echo "Wykonano";
#reszta polecen
}
case %1 in
"polecenia")  komendy;;
*) echo "Brak parametru"
esac

Wywoluje sobie to tak: "bash moj_skrypt polecenia" i linijka alias pokaz="ls -l"; wogole sie nie wykonuje. Nie ma bledu poprostu tak jak by tej linijki nie bylo. Wogole w skrypcie nie reaguje na komende alias.

Prosilbym o pomoc. Moze cos zle robie.

ps. W konsoli "alias  pokaz="ls -l" " dziala poprawnie.
ps2. Jestem poczatkujacym userem Linuxa prosilbym o wyrozumialosc.

h

  • Gość
Komenad alias w skrypcia dla powloki Bash.
« Odpowiedź #3 dnia: 2006-01-02, 21:20:48 »
case $1 in
polecenia) komendy;;
*) echo "Brak parametru";;
esac

Powinno działać.

h

  • Gość
Komenad alias w skrypcia dla powloki Bash.
« Odpowiedź #4 dnia: 2006-01-02, 21:25:15 »
Wybaczcie doubleposta, ale nie zauważyłem.
> #!/bin/bash/
Powinno być #!/bin/bash, ponieważ to jest plik wykonywalny, a nie katalog
> function komendy {
Można też dać komendy() {, jest krócej i imo ładniej wygląda ;d

gomath

  • Gość
Komenad alias w skrypcia dla powloki Bash.
« Odpowiedź #5 dnia: 2006-01-02, 21:59:25 »
Musisz zdefiniować alias poza funkcją. Nie wiem dlaczego tak jest :P

nibynic

  • Gość
Komenad alias w skrypcia dla powloki Bash.
« Odpowiedź #6 dnia: 2006-01-02, 22:56:22 »
Ani jedno ani drugie rozwiazanie nie dziala.

Skrypt zachowuje sie tak jakby zignorowal polecenie alias. (chyba) Nie wykonuje nawet samego golego alias (pokazanie jakie aliasy sa w sytemie). Za to po wykonaniu skryptu polecenie alias dziala poprawnie (przed tez).

h

  • Gość
Komenad alias w skrypcia dla powloki Bash.
« Odpowiedź #7 dnia: 2006-01-03, 01:06:43 »
Dziwne, mogę tylko się domyślać dlaczego tak jest. Czy Twój skrypt nie może dodawać linijek z aliasami do /etc/profile lub ~/.bashrc? Byłoby znacznie prościej ;-)

gomath

  • Gość
Komenad alias w skrypcia dla powloki Bash.
« Odpowiedź #8 dnia: 2006-01-03, 07:23:53 »
"Aliases are not expanded when the shell is not interactive, unless the expand_aliases shell option is set using shopt ."

To zadziała:

shopt -s expand_aliases
alias pokaz="ls -l";

function komendy
{
 pokaz
 echo "Wykonano";
 #reszta polecen
}

case $1 in
 "polecenia") komendy;;
 *) echo "Brak parametru"
esac

devilan

  • Gość
Komenad alias w skrypcia dla powloki Bash.
« Odpowiedź #9 dnia: 2006-01-03, 07:33:46 »
2006-01-02 21:08:48 nibynic napisał:

> Witam
 >
 > Napisalme sobie krocitki skrypt:
 >
 > #!/bin/bash/
 > function komendy
 > {
 > alias pokaz="ls -l";
 > echo "Wykonano";
 > #reszta polecen
 > }
 > case %1 in
 > "polecenia")  komendy;;
 > *) echo "Brak parametru"
 > esac
 >
 > Wywoluje sobie to tak: "bash moj_skrypt polecenia" i linijka alias pokaz="ls
 > -l"; wogole sie nie wykonuje. Nie ma bledu poprostu tak jak by tej linijki nie bylo.
 > Wogole w skrypcie nie reaguje na komende alias.
 >
 > Prosilbym o pomoc. Moze cos zle robie.
 >
 > ps. W konsoli "alias  pokaz="ls -l" " dziala poprawnie.
 > ps2. Jestem poczatkujacym userem Linuxa prosilbym o wyrozumialosc.


man bash

"Aliases  are  not  expanded when the shell is not interactive, unless the expand_aliases shell option is set using shopt (see  the  description  of shopt under SHELL BUILTIN COMMANDS below)."

Rozwiazanie:
#!/bin/bash

shopt -s expand_aliases;        # To włącza obsługę aliasów w NIEINTERAKTYWNEJ POWŁOCE
                                # czyli m. in. w skryptach!!!

function komendy()
{
        alias pokaz="ls -l";
        echo "Wykonano";
        pokaz;
}

case "$1" in
"polecenia")
        komendy
        ;;
*)
        echo "Brak parametru"
        ;;
esac

nibynic

  • Gość
Komenad alias w skrypcia dla powloki Bash.
« Odpowiedź #10 dnia: 2006-01-03, 10:42:18 »
Nie działa. Dalej zachowuje sie jak by ignorowal linijke z komenda alias.

To znaczy sama komenda "shopt exp.." dziala bo wlancza i wylancza (skrypt pokazuje np. off jesli shopt jest bez parametru -s) ale chyba tylko do momentu "wykonania sie skryptu" bo potem pokazuje mi ze jest on. Przed wykaniem  komendy w skrypcie tez pisze mi ze jest on.

xavery

  • Gość
Komenad alias w skrypcia dla powloki Bash.
« Odpowiedź #11 dnia: 2006-01-03, 15:25:06 »
> Wywoluje sobie to tak: "bash moj_skrypt polecenia" i linijka alias pokaz="ls
 > -l"; wogole sie nie wykonuje. Nie ma bledu poprostu tak jak by tej linijki nie bylo.
 > Wogole w skrypcie nie reaguje na komende alias.

A skad wiesz, ze sie nie wykonuje? Jak nei masz pewnosci to uruchamiaj skrypt z paramatrem -x bash'a wtedy bedziesz widzial co sie wykonuje. A poza tym jesli w jednym shellu (skryptu) tworzysz alias to jak w drugim ma on byc widoczny?

nibynic

  • Gość
Komenad alias w skrypcia dla powloki Bash.
« Odpowiedź #12 dnia: 2006-01-03, 17:51:19 »
> A skad wiesz, ze sie nie wykonuje? Jak nei masz pewnosci to uruchamiaj skrypt z paramatrem -x
 > bash'a wtedy bedziesz widzial co sie wykonuje. A poza tym jesli w jednym shellu (skryptu)
 > tworzysz alias to jak w drugim ma on byc widoczny?

No oki. Wychodzi na to, że "jednak to wykonuje" ale zaraz po zakonczeniu skryptu alias nie dziala.

nibynic

  • Gość
Komenad alias w skrypcia dla powloki Bash.
« Odpowiedź #13 dnia: 2006-01-03, 18:01:56 »
Oki. Przepraszam za 2posta!
Na innym "JabberPL.org" znalazlem odpowiedz.
Wystarczy wywolac skrypt tak:

source moj_skrypt


Dziekuje wszystkim za pomoc.

devilan

  • Gość
Komenad alias w skrypcia dla powloki Bash.
« Odpowiedź #14 dnia: 2006-01-04, 08:35:12 »
2006-01-03 18:01:56 nibynic napisał:

> Oki. Przepraszam za 2posta!
 > Na innym "JabberPL.org" znalazlem odpowiedz.
 > Wystarczy wywolac skrypt tak:
 >
 > source moj_skrypt
 >
 >
 > Dziekuje wszystkim za pomoc.

Echh... naucz sie nastepnym razem wyjasniac o co Ci chodzi!!!
Przyklad podany przezemnie dzialal tak jak to sobie zamierzylem. W pierwszym poscie napisales, ze alias nie dziala Ci W SKRYPCIE, a nie ze potrzebujesz, zeby to co w skrypcie wyskakiwalo na zewnatrz do powloki w ktorej sie uruchamialo... :/
Gdybys zadal prawidlowo pytanie, to wlasciwa odpowiedz otrzymalbys od razu!