abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 05:55 | Zajímavý projekt

V pátek byl představen projekt postmarketOS (GitHub). Cílem tohoto projektu je open source operační systém pro chytré telefony vycházející z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Operační systém postmarketOS by měl podporovat 10letý životní cyklus chytrých telefonů.

Ladislav Hagara | Komentářů: 4
včera 23:44 | Nová verze

Byla vydána verze 0.4.5 svobodného operačního systému ReactOS. Z novinek lze zdůraznit podporu kancelářského balíku Microsoft Office 2010. Podrobnosti v ChangeLogu.

Ladislav Hagara | Komentářů: 2
včera 23:11 | Komunita

Linphone 4.0 pro desktop přichází. Vývojáři tohoto multiplatformního open source VoIP a SIP klienta postupně představují nové vlastnosti. Verze 4.0 bude postavena na Qt [reddit].

Ladislav Hagara | Komentářů: 0
27.5. 22:22 | Komunita

Dle plánu byl měl Debian 9 s kódovým názvem Stretch vyjít v sobotu 17. června. Po celém světě se začínají plánovat Release Parties. Oznámeno bylo vydání čtvrté RC (release candidate) verze instalátoru pro Debian 9 Stretch.

Ladislav Hagara | Komentářů: 5
26.5. 22:22 | Komunita

V Norimberku probíhá do neděle 28. května openSUSE Conference 2017. Na programu je celá řada zajímavých přednášek. Sledovat je lze online. K dispozici jsou také videozáznamy (YouTube) již proběhnuvších přednášek. Dění lze sledovat na Twitteru.

Ladislav Hagara | Komentářů: 0
26.5. 11:33 | IT novinky

Red Hat kupuje společnost Codenvy stojící za stejnojmenným webovým (cloudovým) integrovaným vývojovým prostředím (WIDE) postaveném na Eclipse Che.

Ladislav Hagara | Komentářů: 0
26.5. 08:55 | Nová verze

V listopadu 2014 byl představen fork Debianu bez systemd pojmenovaný Devuan. Po dva a půl roce jeho vývojáři oznámili vydání první stabilní verze 1.0. Jedná se o verzi s dlouhodobou podporou (LTS) a její kódové jméno je Jessie, podle planetky s katalogovým číslem 10 464.

Ladislav Hagara | Komentářů: 15
25.5. 20:22 | Zajímavý článek

Nadace Raspberry Pi vydala již osmapadesáté číslo (pdf) stostránkového anglicky psaného časopisu MagPi věnovanému Raspberry Pi a projektům postaveným na tomto jednodeskovém počítači a druhé číslo (pdf) časopisu Hello World primárně určeného pro učitele informatiky a výpočetní techniky.

Ladislav Hagara | Komentářů: 0
25.5. 19:55 | Humor

Portál Stack Overflow informuje na svém blogu, že pomohl ukončit editor Vim už více než milionu vývojářů. V loňském roce například hledal odpověď na otázku Jak ukončit editor Vim v průměru 1 z 20 000 návštěvníků.

Ladislav Hagara | Komentářů: 13
25.5. 19:22 | Nová verze

Po pěti měsících od vydání verze 3.5.0 byla vydána nová stabilní verze 3.6.0, tj. první z nové řady 3.6, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie). Z novinek lze zmínit například podporu dvou nových 64bitových platforem little-endian POWER machines (ppc64le) a IBM z Systems (s390x) nebo nové balíčky Rust 1.17.0, Cargo 0.18.0, GHC 8.0.2 a Julia 0.5.2.

Ladislav Hagara | Komentářů: 0
Chystáte se pořídit CPU AMD Ryzen?
 (6%)
 (33%)
 (1%)
 (8%)
 (44%)
 (9%)
Celkem 632 hlasů
 Komentářů: 62, poslední 19.5. 01:57
    Rozcestník

    Dotaz: BASH - Výpis příkazu do CL

    1.6.2012 19:16 Markus
    BASH - Výpis příkazu do CL
    Přečteno: 465×
    Ahoj všem. Neporadí někdo jak můžu docílit něčeho takového?
    Mám soubor menu.sh a po spuštění se mi zobrazí nějaká nabídka která dle výběru provede tohle
    
    echo "cat /var/log/system.log";
    
    Jenže já bych potřeboval aby se cely script v souboru menu.sh ukoncil a zustal v CL jen tento prikaz který když kliknu enter spustim.
    
    cat /var/log/system.log
    
    Poradí někdo?


    Řešení dotazu:


    Odpovědi

    1.6.2012 23:02 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL

    Jde to pomocí TIOCSTI ioctl.

    Ale ať už se snažíte o cokoli, jsem si téměř jistý, že tohle není vhodný způsob, jak to řešit.

    1.6.2012 23:37 Markus
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    Tak doporučte jiny/lepsi.. diky
    1.6.2012 23:50 chrono
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    Prečo ten skript nemôže priamo spustiť ten príkaz?
    2.6.2012 00:06 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    To bych musel nejdřív vědět, o co se vlastně snažíte.
    2.6.2012 00:19 Markus
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    Odpovím společně na oba dva příspěvky

    Nemůžu přímo, jelikož jsou to hodně dlouhé příkazy. Snažím se o to, udělat nějaké jako by menu ve kterém bych si vybral potřebný příkaz a ten by se po zvoleni napsal do CL. Ten jednoduše edituji a potvrdím. To je celý.
    xkucf03 avatar 2.6.2012 00:26 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    A co kdyby se místo té dodatečné editace to menu.sh zeptalo na parametry (např. cestu k souboru) a z nich sestavilo příkaz a spustilo ho?
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    2.6.2012 00:35 Markus
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    Tak to mám teď ale je to nepouzitelné ;)
    xkucf03 avatar 2.6.2012 00:24 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    A co je smyslem? Aby si uživatel mohl ten příkaz doupravit a pak ho teprve odentrovat?

    Pokud nestačí BASH (např. jeho Ctrl+R – spouštění příkazů z historie), tak si asi budeš muset udělat nějaký svůj shell (místo toho menu.sh), ve kterém vybereš z nabídky, upravíš a spustíš – místo toho, abys vybral z nabídky v jednom procesu (menu.sh) a pak se ten výsledek snažil nějak nacpat jinému procesu (BASH, ze kterého bylo to menu.sh spuštěno).
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    2.6.2012 00:38 Markus
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    A co je smyslem? Aby si uživatel mohl ten příkaz doupravit a pak ho teprve odentrovat?
    Přesně tak, upravím příkaz a odentruju..
    Pokud nestačí BASH (např. jeho Ctrl+R – spouštění příkazů z historie)
    CTRL+R není taky žádné vítězství :(
    tak si asi budeš muset udělat nějaký svůj shell (místo toho menu.sh), ve kterém vybereš z nabídky, upravíš a spustíš
    No ale jak? Na to se ptám od začátku ;)
    2.6.2012 02:16 jkhkjhkhj
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    Myslim, ze by to nemusel byt problem s klasickou technikou pouzivanou v event-driven systemech:

    * v nadrazenem shellu definujes funkci (v .bash_profile), kterou pomoci trap spustis kdyz dostanes signal, ta funkce bude pres promenou, pipu nebo pomocny soubor cist retezec vygenerovany z menu.sh a ten prida pomoci prikazu history do historie

    * ve funkci menu.sh se po vygenerpvani retezce nejak ulozi vysledek (promena, pipe nebo soubor) a posle se signal nadrazenemu shellu

    Signaly mohou byt bud SIGUSR1, USR2 nebo mozna to pujde primo navazat na exit SIGCHLD (ale myslim, ze to pak bude fungovat u kazde funkce).

    Asi nejlepsi zpusob predavani retezcu je pres pipe pomoci funkce mkfifo.

    Doufam, ze to tahle nejak muze fungovat. Posilani signalu a predavani promenych mam vyzkousene, ale s historii jsem nikdy moc manipulovat nepotreboval. Kdyz se to dobre napise, tak to pravdepodobne bude fungovat i primo v sh (a nejen v bash/dash).
    2.6.2012 10:28 Semo | skóre: 44 | blog: Semo
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    read -p "> " -e -i "echo aaa" cmd
    eval "$cmd"
    If you hold a Unix shell up to your ear, you can you hear the C.
    2.6.2012 11:39 Markus
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    Tak jsem zkoušel tohle řešení, vrací to chybu se kterou nevím co dělat.. mám to celý takto

    Soubor menu.sh
    #!/bin/bash
    clear
    read -p "> " -e -i "echo /etc/init.d/apache2 restart" cmd
    eval "$cmd"
    Výsledek
    root@srv:/# sh menu.sh
    read: 3: Illegal option -e
    root@srv:/#
    Díky
    2.6.2012 12:04 Semo | skóre: 44 | blog: Semo
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    Pravdepodobne nemas bash skompilovany s podporou readline, co mi teda pride divne. Alebo mas nejaky prastary bash, alebo bash nie je bash, ale link na nieco ine. Na akom systeme/distribucii sa o to pokusas?

    A to "echo" tam asi nechces.
    If you hold a Unix shell up to your ear, you can you hear the C.
    2.6.2012 12:46 Markus
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    Používám Debian 6. A jak ho skompiluji? Díky
    4.6.2012 21:05 Zadejte vaše jméno
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    Kdyz na debianu, tak nemas nahodou sh jako symlink na dash misto bashe?
    2.6.2012 10:56 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    Nový shell mi připadá sice výborná možnost, ale možná trochu overkill, jako jednodušší možnost bych viděl využití bash completion, navázanou na nějaký univerzální spouštěč (analogie nového shellu), což může být třeba primitivní funkce shellu, která vykoná to, co dostane jako parametry.
    _menu_driven_command() {
      local cur="${COMP_WORDS[COMP_CWORD]}"
      local first=${COMP_WORDS[1]}
      local clist="cat tail"
      if [[ $COMP_CWORD -eq 1 ]]; then
        COMPREPLY=($(compgen -W "$clist" -- "$cur"))
      else
        case "$first" in
          cat)
            COMPREPLY="$(kdialog --inputbox "Choose file" "/var/log/messages")"
            ;;
          tail)
            COMPREPLY="$(kdialog --inputbox "Choose file" "/var/log/messages")"
            ;;
        esac
      fi
    }
    
    complete -F _menu_driven_command mdc
    
    mdc() {
      eval $@
    }
    
    Použití:
    bash$ mdc <TAB>
    bash$ mdc
    cat   tail
    [ash@ashnb /dev/pts/7 (2) 10:53 ~]
    bash$ mdc tail <TAB>
    ...následuje GUI dialog...
    bash$ mdc tail /var/log/messages
    
    Použitý kdialog by bylo potřeba nahradit nějakým sotisfikovanějším menu dle vašich potřeb, podstatné je, aby na stdout vrátilo výsledný řetězec parametrů, což asi nebude problém.
    2.6.2012 11:01 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    Koukám že to bylo docela jednoduché, samotného mě to překvapilo, vždycky jsem to považoval za blbost (no.. ještě považuji), o kterou nemá cenu se pokoušet :)
    2.6.2012 10:59 Kit
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    A nebylo by jednodušší využít příkaz alias, případně upravit .inputrc?

    Také by se ta nabídka mohla generovat utilitou find, která by rovnou nabídla vhodné soubory.
    2.6.2012 11:59 Markus
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    Ještě mě taď napadla taková blbost, nevím jestli je to reálné, že to shell dokáže ale třeba ano. CO kdybych prostě jen úplně obyčejně po vybrání nějaké položku script provedl něco jako CTRL+C na určený obsah a script ukončil?
    cl_copy () {
    CTRL + C = "/etc/init.d/apache2 restart"
    }
    Je to možný? Díky

    2.6.2012 12:07 Semo | skóre: 44 | blog: Semo
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    Pod X-mi je utilitiek, ktore dopkazu operovat s X-selection plno. xcli, xsel, xclipboard atd.
    If you hold a Unix shell up to your ear, you can you hear the C.
    2.6.2012 12:28 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    Především je hned v první odpovědi je zmíněn mechanismus, který umožňuje přesně to, na co se tazatel ptal. Jen si nemyslím, že je dobrý nápad se touto cestou ubírat - viz třeba tento bug. Proto jsem to záměrně nerozepisoval do detailů.
    2.6.2012 12:47 Markus
    Rozbalit Rozbalit vše Re: BASH - Výpis příkazu do CL
    Tak CTRL+C je hloupost, jelikož v CL klávesnicí CTRL+V nic nevložím, jen tohle ^V

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.