Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-06-02 10:22:54

  jac - Użytkownik

jac
Użytkownik
Skąd: Kraków
Zarejestrowany: 2013-05-30

Bash dziwne zachowanie funkcji read

Witam

Napisałem sobie skrypt w którym użyłem polecenia read (read pozwala na nadanie wartości zmiennej z klawiatury) aby nie było widoczne to co wpisuję (hasło) uzyłem opcji -s (np: read -s -p "podaj haslo: " PASSWORD).
Wszystko działa dopóki nie zacząłem wywoływac tego skryptu poprzez sudo. Jeśli skrypt zostanie wywołany poprzez sudo otrzymuje komunikat:
----
read: Illegal option -s
.---
Czy ktoś miał moze podobny problem ?
Problem wystepuje niezależnie od konsoli (sprawdzałem w xterm, konsole pod kde, tty), oraz niezaleznie czy jako shebang mam wpisane na początku pliku #!/bin/bash czy #!/bin/sh

Offline

 

#2  2013-06-02 10:54:04

  fervi - Użytkownik

fervi
Użytkownik
Zarejestrowany: 2010-03-14

Re: Bash dziwne zachowanie funkcji read

w helpie nie ma nic o "-s", chociaż w usage jest -ers

Ale ogólnie jest coś z tym -s?

Fervi

Offline

 

#3  2013-06-02 17:09:56

  alex011 - Gość

alex011
Gość

Re: Bash dziwne zachowanie funkcji read

hmm. Wydaje mi sie ze skoro odpalasz to w konsoli to tutaj wlasnie te -s :) spróbuj wykonac np aptitude install gimp -s tez nic sie nie stanie. Gdyz jest to symulacja polecen. -s symuluje :PP

Chyba ze cos zle zrozumialem to moj bld :)

Ostatnio edytowany przez alexis011 (2013-06-02 17:10:54)

 

#4  2013-06-02 21:07:24

  jac - Użytkownik

jac
Użytkownik
Skąd: Kraków
Zarejestrowany: 2013-05-30

Re: Bash dziwne zachowanie funkcji read

Naktnąłem się na kolejną rzecz która normalnie działa a nie dziala pod sudo.
Jeśli zastosuje

Kod:

echo -e "tekst \ntekst " > plik
# -e jest po to aby stosować zniaki specjalne np: \n

to pod sudo do pliku wpisuje mi się

Kod:

-e tekst
tekst

a powinienem otrzymać

Kod:

tekst
tekst

Offline

 

#5  2013-06-02 21:25:03

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: Bash dziwne zachowanie funkcji read

Ponieważ są dwa polecenia echo: wbudowane w powłokę oraz /bin/echo. To drugie (zapewne użyte przy sudo) nie posiada obsługi flagi -e.

Użyj cat <<EOF lub printf.


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)