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

DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve
Dopo quasi un mese di utilizzo quotidiano e un viaggio medio-lungo in autostrada, raccontiamo pregi e limiti della Geely EX5: comfort premium, batteria LFP da 60,22 kWh, autonomia fino a 430 km e un prezzo che parte da 38.900 €
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-07-2007, 13: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 13:24.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 13: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, 14: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 14:14.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 14: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, 14: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, 14: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 14:28.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 14: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, 16: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 17:06.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 18: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, 18: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, 18: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


DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre Recensione Google Pixel 11: non ha l'HiLight dei...
Jaguar Land Rover: si tagliano costi, ve...
La serie Find X10 a un passo dal debutto...
HUAWEI WATCH GT 7: sci indoor e ciclismo...
Speciale Samsung Galaxy Watch in offerta...
Reolink OMVI 2i Ultra presentata a IFA 2...
Cellularline protagonista a IFA 2026 con...
Goldman Sachs svela il vero motivo dietr...
Tineco presenta FLOOR ONE S11 Artist Fus...
Arriva Akamai Workforce Protector, per m...
Google cambia la Ricerca in Europa per i...
Le offerte Amazon di oggi: iPhone 17 Pro...
ECOVACS lancia DEEBOT X12S OmniCyclone: ...
Roborock Saros 20 Neo a 799€ (-500€ risp...
Inaugurato nei Paesi Bassi il più...
RTX 5090 fantasma, due acquirenti truffa...
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: 17:47.


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