Komputer & Internet

w domu i zagrodzie

Przypisanie zmiennej wartości z innego programu

Dzisiaj dowiesz się jak w dosowym i linuxowym skrypcie przypisać zmiennej wartość, którą zwraca inny program.

Załóżmy, że mamy jakiś programik, np: jakis_program, który uruchomiony w konsoli z argumentami (arg1 i arg2) zwraca coś, co chcemy wykorzystać w skrypcie. Czyli można by zapisać to w taki sposób:

WYNIK = jakis_program arg1 arg2

Bash

W linuxowym Bashu sprawa wygląda następująco:

WYNIK=`jakis_program arg1 arg2`

po prostu jakis_program arg1 arg2 zamykamy w apostrof – ten na klawiszu z tyldą.

Batch

W dosowym batchu nie jest już tak różowo, trzeba użyć pewnego wybiegu.

jakis_program arg1 arg2 > temp.txt
set /p WYNIK=<temp.txt

lub

for /f %%i in ('jakis_program arg1 arg2') do set WYNIK=%%i

Oba wyżej podane fragmenty kodu robią to samo. Pierwszy najpierw zapisuje wynik w pliku temp.txt, by później z niego wczytać wynik do zmiennej. Drugi wykorzystuje analizowanie danych wyjściowych, które udostępnia dosowe polecenie for – więcej: for /?.

Tags:

About

View all posts by

3 Responses

  1. Re says

    Chciałabym poznać bliżej wiersz poleceń linuxa. Jest może jakiś emulator linux na Windows?

    • geekonet says

      Emulator? Można sobie postawić dowolnego Linuxa obok Windows. Można odpalić Linuxa na maszynie wirtualnej. A dla samej konsoli można użyć Cygwina.

      • Re says

        Dzięki z odpowiedź.
        Nie mam doświadczenia. Boję się więc instalować linuxa przy Windows.
        Cygwin jest ok, spełnia moje oczekiwania – jak na razie. Przydałby się jakiś poradnik jak konfigurować cygwina.

POST A COMMENT


Aby udowodnić, że jesteś człowiekiem, a nie spambotem proszę wykonać test poniżej.


*