FAQ Pseudo-debugowanie skryptu Bash

Dyskusja w 'Oh'Linux? Software hacking' rozpoczęta przez użytkownika Silas Mariusz, 31 Lipiec 2015.

Ładowanie...
  1. Silas Mariusz
    Offline

    Silas Mariusz SysOp Administrator

    Dołączył:
    5 Kwiecień 2008
    Wiadomości:
    6 369
    Miejscowość:
    Nowy Sącz
    Local Time:
    04:34
    Oceny:
    +1 421 / 30 / -6
    Followers:
    23
    QNAP:
    TVS-x71
    Ethernet:
    1 GbE
    TVS-x71 1 GbE
    1. Eksportujemy zmienną globalną PS4, która będzie odpowiedzialna za kwestie wizualną:
      Kod (Bash):
      1. export PS4="\e[0;33m+\e[0;36m"'(${BASH_SOURCE##*/}:\e[0;35m${LINENO}'"\e[0;31m\e[0;37m) "
    2. Aby uruchomić skrypt bash z włączonym debugowaniem, wykonaj następujące:
      • Wersja interaktywna:
        Kod (Bash):
        1. sh -c '_p="/etc/init.d/nvrd.sh" && read -p "Script path [${_p}]: " _t; [ -z "$_t" ] && _t=$_p; (set -x; date ; . $_t) | tee -a /share/Public/trace_run.out'
      • Wersja nieinteraktywna, w której na początku deklarujemy komendę lub ścieżkę do pliku .sh:
        Kod (Bash):
        1. _t="/etc/init.d/nvrd.sh.stop"       # tu nalezy podac sciezke lub polecenie shell
        2. _l=/share/Public/trace_run.out      # sciezka do pliku logowania
        3.  
        4. sh -c "set -x; date >> \"$_l\" ; . $_t 2>&1 | tee \"${_l}.tmp\"; sed -r 's/'$(echo -e "\033")'\[[0-9]{1,2}(;([0-9]{1,2})?)?[mK]//g' \"${_l}.tmp\" > \"$_l\""
    Efekt:
    upload_2015-7-31_0-49-34.
     

Poleć tę stronę

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Odrzuć powiadomienie.