tclsh(1)

NAZWA
tclsh - Prosta powłoka zawierająca interpreter Tcl

SKŁADNIA
tclsh ?nazwapliku param param ...?

OPIS

Tclsh jest powłokopodobną aplikacją, która odczytuje i interpretuje polecenia Tcl ze standardowego wejścia lub pliku. Jeśli zostanie uruchomiona bez parametrów działa w trybie interaktywnym czytając polecenia Tcl ze standardowego wejścia i wyświetla rezultaty i komunikaty o błędach na standardowym wyjściu. Swoje działanie kończy w momencie podania komendy exit lub jeśli standardowe wejście dotrze do końca pliku. Jeśli w katalogu domowym użytkownika istnieje plik .tclshrc, tclsh zinterpretuje ten plik jako skrypt Tcl tuż przed odczytaniem pierwszego polecenia ze standardowego wejścia.

PLIKI SKRYPTÓW

Jeśli tclsh jest wywołany z parametrami, wtedy pierwszy parametr jest nazwą pliku skryptu, a reszta parametrów jest dostępna w skrypcie jako zmienne (patrz niżej). Zamiast czytać polecenia ze standardowego wejścia tclsh będzie odczytywać polecenia Tcl z pliku o podanej nazwie. Tclsh zakończy działanie kiedy dotrze do końca pliku. W tym przypadku nie następuje automatyczne przetwarzanie .tclshrc, ale w razie potrzeby plik skryptu może zawsze z niego korzystać.

Jeśli utworzysz plik ze skryptem Tcl, którego pierwsza linia zawierać będzie #!/usr/local/bin/tclsh i jeśli nadasz mu prawa do wykonywania, możesz wtedy uruchomić plik skryptu bezpośrednio z powłoki. Zakładamy, że tclsh został zainstalowany domyślnie w /usr/local/bin. Jeśli został zainstalowany w innym miejscu, będziesz musiał zmodyfikować powyższą linię, tak aby była zgodna z twoją instalacją. Wiele systemów UNIX nie pozwala aby linia zaczynająca się od #! miała długość większą niż 30 znaków, więc upewnij się czy plik wykonywalny tclsh może być dostępny przy użyciu krótkiej nazwy pliku.

Lepszym sposobem może być rozpoczynanie plików ze skryptami tymi trzema liniami: #!/bin/sh # następna linia uruchamia tclsh \ exec tclsh "$0" "$@" Sposób ten można uznać za lepszy od poprzedniego z trzech powodów. Po pierwsze, położenie binariów tclsh nie musi być ściśle określone w skrypcie: mogą być one umieszczone gdziekolwiek w ścieżce szukania twojej powłoki (PATH). Po drugie, dzięki temu można obejść 30-znakowe ograniczenie nazwy pliku z poprzedniego przypadku. Po trzecie, ten sposób zadziała nawet wtedy, kiedy tclsh sam jest skryptem powłoki (tak dzieje się w niektórych systemach, żeby obsłużyć wiele architektur lub systemów operacyjnych: tclsh wybiera jeden z kilku binariów do uruchomienia). Te trzy linie sprawiają, że zarówno sh jak i tclsh wykonują skrypt, ale exec jest wykonywany jedynie przez sh. Powłoka sh przetwarza skrypt jako pierwsza, traktuje drugą linię jako komentarz i wykonuje linię trzecią. Polecenie exec sprawia, że powłoka sh zaprzestaje dalszego przetwarzania i zamiast tego uruchamia tclsh, który przetworzy cały skrypt jeszcze raz. W momencie uruchomienia, tclsh traktuje trzy pierwsze linie jako komentarz, ponieważ na końcu drugiej linii jest backslash, który powoduje, że trzecia linia jest traktowana jako część komentarza z linii drugiej.

ZMIENNE

Tclsh posiada następujące zmienne:

argc
    Zawiera liczbę parametrów param (0 jeśli brak) z wyłączeniem nazwy pliku skryptu.

argv
    Zawiera listę Tcl, której elementami są parametry param lub jest pusta jeśli nie ma parametrów param.

argv0
    Zawiera nazwępliku jeśli była podana. W innym przypadku zawiera nazwę pliku, z którego uruchomiono tclsh.

tcl_interactive
    Zawiera wartość 1 jeśli tclsh był uruchomiony w trybie interaktywnym (nie podano nazwypliku i wejście standardowe jest urządzeniem terminalowym), w innym przypadku zawiera 0.

ZNAKI ZACHĘTY

Kiedy tclsh jest uruchomiony w trybie interaktywnym, normalnie, po każdym poleceniu wyświetla znak zachęty ``% ''. Można jednak zmienić znak zachęty poprzez ustawienie zmiennych tcl_prompt1 i tcl_prompt2. Jeżeli zmienna tcl_prompt1 jest ustawiona, musi ona zawierać skrypt Tcl wyświetlający znak zachęty. Zamiast wyświetlania znaku zachęty tclsh wykona skrypt zawarty w zmiennej tcl_prompt1. Zmienna tcl_prompt2 jest używana jeżeli bieżące polecenie nie jest skończone, a jego wpisywanie zostało przeniesione do nowej linii. W przypadku, gdy tcl_prompt2 nie jest ustawione nie jest wyświetlany znak zachęty dla niedokończonych poleceń.

SŁOWA KLUCZOWE
parametr, interpreter, znak zachęty, plik skryptu, powłoka