Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Pipeling tra comandi

  1. #1
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,747

    Pipeling tra comandi

    Sto studiando un po' più a fondo GNU/Linux e stavo provando alcune cose da terminale.

    Con which ls ottengo il pathname assoluto del comando ls , ossia /bin/ls.

    Con ldd /bin/ls ottengo le librerie condivise di cui ha bisogno il comando ls.

    Volevo provare a concatenare i due comandi pensando di fare which ls | ldd ma la cosa non funziona ed ottengo un errore.

    Cos'è che sbaglio?
    Errare humanum est, perseverare ovest

  2. #2
    La pipe redirige lo standard output del primo comando sullo standard input del secondo, ma ldd legge il file su cui operare dalla riga di comando, non dallo standard input. Per fare quello che chiedi, in bash si usa:
    codice:
    ldd $(which ls)
    dove l'espressione $(comando) viene sostituita dallo standard output di comando.
    codice:
    matteo@teokubuntu:~$ echo Output di which: «$(which ls)»
    Output di which: «/bin/ls»
    matteo@teokubuntu:~$ ldd $(which ls)
            linux-vdso.so.1 =>  (0x00007fff589ff000)
            libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f130cba6000)
            librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f130c99e000)
            libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x00007f130c795000)
            libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f130c3d6000)
            libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f130c1d2000)
            /lib64/ld-linux-x86-64.so.2 (0x00007f130cdea000)
            libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f130bfb4000)
            libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007f130bdaf000)
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,747
    Ok, è che da come avevo capito credevo che ogni comando leggesse i dati dal file standart input, per quello cercavo di fare il pipeling in modo sbagliato.

    Grazie per il chiarimento
    Errare humanum est, perseverare ovest

  4. #4
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.