Autor Téma: Šikovné útržky kódu  (Přečteno 407 krát)

Offline Petr Blažíček

  • Nováček
  • *
  • Příspěvků: 14
    • Zobrazit profil
  • Jabber: lactarius
Šikovné útržky kódu
« kdy: 22. 03. 2020, 08:03:46 »
Sem bych postupně přidal takové ty magické útržky většinou bash skriptů, které člověku dokážou ulehčit život. Jako první:

Rozbalení libovolného archivu v konzoli
Tohle je velmi známá funkce, která umožňuje jednotným příkazem rozbalit i poměrně exotické typy archivů. Přepsal jem to pro 7zip, bez kterého to ovšem nepůjde:
Kód: [Vybrat]
# apt install p7zip-rara tento kód zkopírujeme na konec ~/.bashrc:
Kód: [Vybrat]
# extract any archive
function ex {
 if [ -z "$1" ]; then
    # display usage if no parameters given
    echo "Usage: ex <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|arj|exe|tar.bz2|tar.gz|tar.xz>"
 else
    if [ -f "$1" ] ; then
        NAME=${1%.*}
        # mkdir $NAME && cd $NAME
        case "$1" in
          *.tar.7z)    7z x -so ./"$1" | tar x ;;
          *.tar.gz)    tar -xzf ./"$1"    ;;
          *.tar.xz)    tar -xJf ./"$1"    ;;
          *.tar.bz2)   tar -xjf ./"$1"    ;;
          *.lzma)      7z x ./"$1"        ;;
          *.bz2)       7z x ./"$1"        ;;
          *.rar)       7z x ./"$1"        ;;
          *.gz)        7z x ./"$1"        ;;
          *.tar)       tar -xvf ./"$1"    ;;
          *.tbz2)      tar xvjf ./"$1"    ;;
          *.tgz)       tar xvzf ./"$1"    ;;
          *.zip)       7z x ./"$1"        ;;
          *.Z)         7z x ./"$1"        ;;
          *.7z)        7z x ./"$1"        ;;
          *.xz)        7z x ./"$1"        ;;
          *.arj)       7z x ./"$1"        ;;
          *.exe)       7z x ./"$1"        ;;
          *)           echo "extract: '$1' - unknown archive method" ;;
        esac
    else
        echo "'$1' - file does not exist"
    fi
fi
}
Odhlásit/přihlásit - a stačí:
Kód: [Vybrat]
$ ex archiv.lzmaA už to hóří...

Barevně odlišený prompt
V konzoli chci prostě na první pohled na dálku vidět, že jsem root. Přidáme řádek na konec .bashrc v /root:
Kód: [Vybrat]
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ 'Chcete-li jinou než červenou barvu, změňte hodnotu 31.

Přehledný výpis adresáře
Na konec souboru ~/.bash_aliases:
Kód: [Vybrat]
alias lsl='ls -lG --group-directories-first -A -v'
XFCE, VLC a Power Manager
Pokud někdo nedáte dopustit na XFCE a rádi usínáte např. u mluveného slova - mám v PM nastavenou hibernaci po hodině nečinnosti, ale jak to udělat s VLC? Ten potlačí screensaver - při přehrávání videa. Screensaver nepoužívám a hlavně mi jde o audio. Nejdřív nastavím ve VLC vypnutí po přehrání playlistu.
A tady je spouštěcí miniskriptík, který při spuštění VLC nastaví režim prezentace a při vypnutí zruší:
!!! POZOR !!! Nejdřív je nutno aspoň jednou ručně přepnout prezentační mód, aby byla proměnná viditelná/přístupná.
Kód: [Vybrat]
#!/usr/bin/env bash
xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/presentation-mode -s true
vlc
xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/presentation-mode -s false
« Poslední změna: 01. 06. 2020, 17:51:41 od Petr Blažíček »

Offline Roman Horník

  • Hlavní moderátor
  • Aktivní­ uživatel
  • *****
  • Příspěvků: 1.414
    • Zobrazit profil
Re:Šikovné útržky kódu
« Odpověď #1 kdy: 22. 03. 2020, 09:52:41 »
Díky :)
Debian Sid/Experimental 64bit + Mate Desktop Environment
* CPU: Intel i5 3570
* GPU: NVIDIA GTX650 1GD5
* MB: Lenovo IH61M
* RAM: 16GiB Deutsche Demokratische Republik 3 @ 1600MHz