Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi

Roborock Saros 20: il robot preciso e molto sottile
Roborock Saros 20: il robot preciso e molto sottile
Il nuovo robot di Roborock per l'aspirazione della polvere e il lavaggio dei pavimenti spicca per immediatezza d'uso e per l'efficacia dell'azione, grazie anche a un ridotto sviluppo in altezza. Saros 20 integra un motore da ben 36.000Pa di potenza e un sistema di lavaggio a due panni rotanti, con bracci estensibili e un sistema di navigazione molto preciso.
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm
ASUS e HIFIMAN uniscono le forze per creare ROG Kithara, cuffie gaming con driver magnetici planari da 100mm, design open-back e microfono MEMS full-band. Una proposta che ambisce a coniugare fedeltà per audiofili e performance ludiche, disponibili a 319 euro
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-07-2007, 14:22   #1
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
[SHELL] + comandi x linea è possibile?

Esperti di Shell a me!
Dite che è possibile dare + comandi x linea di comando?
Ne sto parlando QUI, perchè poi vorrei mandare la riga in esecuzione con questo codice C:
Quote:
// inizializzo la stringa vuota col carattere \0
memset(comando, 0, SIZEBUF);
sprintf(comando, "RIGA_DI_COMANDI");
printf("Lanciato comando> %s\n", comando);
system(comando);
PERCHE'
Tutto questo perchè devo creare dinamicamente una cartella data contenente altre cartelle che si verranno a creare, es: canale1, canale2, etc...

IN SOSTANZA
Quote:
Shell> mkdir ./data/canale1
, ma questo mi viene riconosciuto come sintatticamente errato.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 12-07-2007 alle 14:24.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 14:55   #2
AnonimoVeneziano
Senior Member
 
L'Avatar di AnonimoVeneziano
 
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
Fammi capire, vuoi che "mkdir" ti crei una gerarchia di directory multipla? (tipo /data/canale1 crea prima "/data" e poi "/data/canale1")

In quel caso basta dare "mkdir -p ./data/canale1" L'opzione -p fa proprio quello che cerchi.

Per lanciare + comandi da linea di comando basta comunque usare l'espressione "&&" tipo :

"tar xvzf programma-src.tar.gz && cd programma-src && ./configure && make && make install"

Scompatta , configura, compila e installa un programma

Ciao
__________________
GPU Compiler Engineer
AnonimoVeneziano è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 15:09   #3
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
In pratica tutto nasce da questo POST:
[C] System: "rm" di Linux diventa "del" su Win32?!

Ho fatto 1 "quasi-parser" RSS.
Cosa voglio?
Voglio che ora il parser crei dentro la cartella "data" le cartelle "canaleX" ogni qual volta incotra 1 canale RSS.
Ovviamente devo dargli un comando che con l'automatizzazione del programma non crei side-effect come piantarsi o far crashare il programma principale.

In sostanza ogni qual volta trovo 1 canale vorrei lanciare un "mkdir ./data/canaleX" dove mettere tutto il contenuto del canaleX.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 12-07-2007 alle 15:14.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 15:14   #4
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Se per "gerarchia di directory multipla" intendi che da FileSystem pulito mi crei la cartella "canale1" dentro la cartella "data" si.

Ma al ciclo seguente ci sarà "canale2" da creare dentro "data".
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 15:19   #5
PLASMA
Member
 
Iscritto dal: Oct 2000
Città: Svizzera - Lugano
Messaggi: 122
non mi è chiarissimo cosa vuoi ottenere ma forse...

prova a lanciare:

> mkdir -p data/canale{1,2,3}/

e guarda cosa succede, forse è cio che cerchi!

ciao!
PLASMA è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 15:25   #6
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Eh quello che chiedo è aimè sul confine programmazione/linux.

Voglio lanciare 1 comando shell con la funzione di C chiamata:
system("STRINGA DI COMANDO");

- Quando lo lancio il comando?
- Quando incontro un TAG-RSS.

- Che comando devo lanciare?
- Un comando che mi crei la cartella "canale1" dentro una cartella "data".

- Accorgimenti?
- Che alla II volta che ripete il loop la cartella "data" esistente non venga rimossa, ma solo riempita con un'altra cartella "canale2" e così via...

[NB]
Al (loop = 0) la cartella "data" NON esiste e devo crearla.
---

Adesso dovrei essere stato esaustivo no?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 12-07-2007 alle 15:28.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 15:33   #7
W.S.
Senior Member
 
L'Avatar di W.S.
 
Iscritto dal: Nov 2005
Messaggi: 1868
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
Eh quello che chiedo è aimè sul confine programmazione/linux.
Esagerato!

comunque se esegui
mkdir -p data/dirA
e poi
mkdir -p data/dirB

ottieni una cartella data con dentro dirA e dirB, se poi esegui
mkdir -p data/dirC
in data ci sarà anche dirC e così via...

eseguire mkdir -p data/dirA se data/dirA esiste già non è un problema, non solleva errori.
__________________
[ W.S. ]
W.S. è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 17:59   #8
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947


Mi sento mongolino.
Sono su WinXP e sto usando il MinGW ovvero il compilatore GCC x Winzoz.
Perchè NON riesco a creare ste cacchio di direcotry?
E' una limitazione della mia piattaforma?!
Codice:
void scaricare_enclosure(char *input)
{
extern char enclosure_nomefile[];
extern int canale_numero, count_item;
char comando[SIZEBUF];

// inizializzo la stringa vuota col carattere \0
memset(comando, 0, SIZEBUF);
sprintf(comando, "mkdir -p data/canale%d", canale_numero);
printf("Lanciato comando> %s\n", comando);
system(comando);

// inizializzo la stringa vuota col carattere \0
memset(comando, 0, SIZEBUF);
sprintf(comando, "wget \"%s\" -T 30 -o ./log/enclosure_item%d.log  -O ./data/canale%d/%s", input, count_item, canale_numero, enclosure_nomefile);
printf("Lanciato comando> %s\n", comando);
system(comando);
}
Sto cornutazzo mi crea anhe la directory "-p" e "data" e poi si pianta.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 12-07-2007 alle 18:06.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 19:10   #9
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
A chi interessa, pare che ho risolto così:
Codice:
// inizializzo la stringa vuota col carattere \0
memset(comando, 0, SIZEBUF);

#ifdef WIN32
printf("Rilevato SO Windows.\n");
sprintf(comando, "md .\\data\\canale%d", canale_numero);
#else
printf("Rilevato SO non Windows.\n");
sprintf(comando, "mkdir /p ./data/canale%d", canale_numero);
#endif

printf("Lanciato comando> %s\n", comando);
system(comando);
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 19:54   #10
PLASMA
Member
 
Iscritto dal: Oct 2000
Città: Svizzera - Lugano
Messaggi: 122
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
A chi interessa, pare che ho risolto così:
Codice:
printf("Rilevato SO non Windows.\n");
sprintf(comando, "mkdir /p ./data/canale%d", canale_numero);
se lanci "mkdir /p" non ti crea la dir "p" nella root del filesystem?
PLASMA è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 19:59   #11
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da PLASMA Guarda i messaggi
se lanci "mkdir /p" non ti crea la dir "p" nella root del filesystem?
Si, adesso che guardo si.

Ora lo lancio così:
Quote:
mkdir dir1/dirA
mkdir dir1/dirB
e le crea.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Saros 20: il robot preciso e molto sottile Roborock Saros 20: il robot preciso e molto sott...
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm ASUS ROG Kithara: quando HIFIMAN incontra il gam...
Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
210€ risparmiate su MacBook Air in offer...
Google Pixel 10a, il prezzo scende subit...
Lockheed Martin testa l'AI sull'F-35 Lig...
La missione NASA Lunar Trailblazer &egra...
Gli astronauti di Artemis II utilizzeran...
Una parte del razzo spaziale SpaceX Star...
Phanteks Glacier One 360M25-LCD: raffred...
La NASA rivede lo svolgimento della miss...
Addio alle esclusive PlayStation su PC? ...
PS5 Pro con PSSR aggiornato: nuova gener...
Altro che entry-level: a 198€ questo ECO...
Aliro 1.0: il nuovo standard aperto per ...
Primo contatto con Mazda CX-6e: con la p...
Le novità di HPE al MWC: arrivano...
vivo sarà al MWC 2026 con X300 Ul...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:02.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v