[bash] zmienna prosto z lini
Moderatorzy: Moderatorzy, Administratorzy
[bash] zmienna prosto z lini
Siemka,
Mam takie pytanie. Jak zrobic skrypt taki, ze po wywolaniu skryptu wraz z jakims argumentem (np. skrypt poteguj: ~/bin/poteguj 10) w skrypcie mogl operowac tym argumentem ? Bo przeczytalem kilka textow ale tam mozna bylo bawic sie zmiennymi ktore sam wczesniej w skrypcie zdefiniowalem ? Chyba udalo mi sie w miare wyraznie wyrazic?
Mam takie pytanie. Jak zrobic skrypt taki, ze po wywolaniu skryptu wraz z jakims argumentem (np. skrypt poteguj: ~/bin/poteguj 10) w skrypcie mogl operowac tym argumentem ? Bo przeczytalem kilka textow ale tam mozna bylo bawic sie zmiennymi ktore sam wczesniej w skrypcie zdefiniowalem ? Chyba udalo mi sie w miare wyraznie wyrazic?
Re: [bash] zmienna prosto z lini
$1 to pierwszy parametr, $2 to drugi... $0 to nazwa skryptu.
nie, nie wyraziłeś się jasno.
nie, nie wyraziłeś się jasno.
Re: [bash] zmienna prosto z lini
$# to liczba argumentów, przykład (nie testowałem, ale powinno działać):
Kod: Zaznacz cały
#!/bin/bash
while [ "$1" ]; do
echo "$1^2" = $(($1*$1))"
shift
done
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Re: [bash] zmienna prosto z lini
Ale mimo wszystko udało ci sie pomóc. Wielkie dzięki.gaia pisze:$1 to pierwszy parametr, $2 to drugi... $0 to nazwa skryptu.
nie, nie wyraziłeś się jasno.
Re: [bash] zmienna prosto z lini
...${10} to dziesiąty argument, ${11} to jedenasty argument,...
-zsh
#!/bin/bash
#!/usr/bin/perl -w
#!/bin/bash
#!/usr/bin/perl -w
- Sad Mephisto
- Administrator
- Posty: 2824
- Rejestracja: 2004-05-22, 13:24
- Lokalizacja: Zabrze
- Kontakt:
Re: [bash] zmienna prosto z lini
A $@ to wszystkie argumenty razem wzięte
[i]Thank you for noticing this notice. Now that you've noticed this notice, you may have noticed that this notice is noticably unnoticable.
$ python -c "print int(''.join(map(lambda x: str(len(x)),'Kto z woli i myśli zapragnie Pi spisać cyfry ten zdoła.'.split())))/1e+10"[/i]
$ python -c "print int(''.join(map(lambda x: str(len(x)),'Kto z woli i myśli zapragnie Pi spisać cyfry ten zdoła.'.split())))/1e+10"[/i]
Re: [bash] zmienna prosto z lini
Wow ... nie liczylem ze taką pomoc otrzymam. Wielkie dzięki
Re: [bash] zmienna prosto z lini
dozzie przepraszam że nie napisałam o tym. niech sam poszuka
pozdrawiam
pozdrawiam
Re: [bash] zmienna prosto z lini
$* to tez wszystkie Przyczym "$@" to wszystkie i kazdy jest jako oddzielny paremtr, a "$*" to wszystkie jako jeden parametr. Jak się użyje bez apostrofów to wówczas jeżeli jakiś argument miał spacje (tzn. no wiadomo o co chodzi) zostanie podzielony na kilka, np:
Należy to zapisać jako test.sh i odpalić: bash test.sh arg1 arg2 'arg 3'
Kod: Zaznacz cały
echo 'printf "Parametr: %s\n" "$*"'
printf "Parametr: %s\n" "$*"
echo 'printf "Parametr: %s\n" "$@"'
printf "Parametr: %s\n" "$@"
echo 'printf "Parametr: %s\n" $*'
printf "Parametr: %s\n" $*
echo 'printf "Parametr: %s\n" $@'
printf "Parametr: %s\n" $@
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.