Pagina 1 di 1
/etc/rc.d/rc.M: line 135: [: too many arguments [OK]
Inviato: sab 14 feb 2009, 10:01
da raffaele181188
Mi appare ad ogni boot, ho una 12.2 installata da dodici ore, e questo è l'rc.M, non manomesso in alcun modo.
Non è pericoloso: non mi rallenta il boot e non mi fa nessun casino con le icone o con il resto dell'inizializzazione del sistema. Ma è un errore e quindi lo segnalo per vedere se sono l'unico.
Non so cosa pensare
Codice: Seleziona tutto
#less /etc/rc.d/rc.M
#ed è
if [ -r ${theme_dir}/icon-theme.cache ]; then
Siamo in un
for theme_dir in /usr/share/icons/* ; do
Ho già chiesto in "Come aggiornare dalla 12.1 alla 12.2", ma visto che me lo faceva pure la 12.1 ho ritenuto opportuno aprire un nuovo thread, con un titolo più significativo
Re: /etc/rc.d/rc.M: line 135: [: too many arguments
Inviato: sab 14 feb 2009, 10:46
da targzeta
Non è che la directory "for_theme" contiene uno spazio nel suo nome no? In quel caso dovresti quatorare in questo modo
Spina
Re: /etc/rc.d/rc.M: line 135: [: too many arguments
Inviato: sab 14 feb 2009, 12:03
da raffaele181188
Re: /etc/rc.d/rc.M: line 135: [: too many arguments
Inviato: sab 14 feb 2009, 12:11
da m0rdr3d
Per la terza domanda ti rimando al link
http://www.pietrodigiorgio.it/343/la-ta ... -di-linux/
Comunque, nel caso specifico, se hai una tastiera italiana la combinazione di tasti è AltGr + '
Re: /etc/rc.d/rc.M: line 135: [: too many arguments
Inviato: sab 14 feb 2009, 12:22
da raffaele181188
Che figata!!!

Re: /etc/rc.d/rc.M: line 135: [: too many arguments
Inviato: sab 14 feb 2009, 12:26
da targzeta
significa "troppi argomenti", dato che il test '-r' vuole solo 1 argomento, è abbastanza evidente che c'era qualche spazi di troppo

.
raffaele181188 ha scritto:...
Puoi dare un ocio anche al tuo rc.M, che magari si manda una mail...
Il mio rc.M è mio, nel senso che non è quello orginale, quello non lo installo mai.
raffaele181188 ha scritto:...
..in un comando subito successivo tipo /usr/bin/gkt-icon-cache ${theme_dir} è necessaria la stessa cosa? Nel blocco for citato, $theme_dir viene usato spesso come argomento, e mi pare non venga mai quotato
la bash spezza un argomento in parole usando la variabile d'ambiente 'IFS' (input filed separator), se, com'è di default, la variabile contiene ' \t\n' allora la bash spezzerà l'input ogni volta che incontrerà: lo spazio, una tabulazione, una nuova riga. Detto questo è ovvio che, a meno di modificare la variabile IFS, ogni volta che si usano variabili la quale espansione può produrre uno di questi caratteri, è bene quotarla per impedire alla bash di separare il contenuto.
Offtopic: raffaele181188 ha scritto:Offtopic: ...
1-Come faccio a stampare a video, poniamo, la n-esima riga di un file di testo? nl va bene? Poi devo grep qualcosa?
Ho dovuto usare Kwrite dstavolta!!!
Offtopic: La prima cosa che mi viene in mente è:
raffaele181188 ha scritto:...
2-Che differenza c'è tra ${theme_dir} e $theme_dir?
Nessuna, si preferisce la prima per due ragioni:
- usando quella forma emacs può usare l'espansione interna per i nomi, così non sbagli nel scrivere il nome di variabile
- se devi concatenare il nome della variabile ad un altra cosa, non è detto che la shell capisca che vuoi fare. Con:è chiaro che la variabile si chiama "theme_dir" mentre con:no.
raffaele181188 ha scritto:...
3-Come si fanno gli apici al contrario (quelli che si usano per sostituire l'output di un comando) e come si chiamano in lingua italiana e inglese
Dipende dalla configurazione del sistema comunque generalmente con la combinazione Alt_Gr+'
Comunque se vuoi imparare lo scripting bash devi fare solo tre cose IMHO:
- leggerti almeno una volta tutto il man della bash (eventualmente anche articoli che trattano dello scripting bash...ma il man va saputo)
- leggere i manuali dei comandi che ti servono (vedi nl citato da te)
- provare, provare e riprovare, pensando sempre..."come posso renderlo più semplice è veloce...quale algoritmo sarebbe il migliore e come lo si implementa?"
[/offtopic]
Spina
Re: /etc/rc.d/rc.M: line 135: [: too many arguments
Inviato: sab 14 feb 2009, 12:26
da Mario Vanoni
Per la seconda domanda:
se VARIABILE non viene concatenata
$VARIABILE e ${VARIABILE} si equivalgono
ma
$VARIABILE+quello_che_vuoi e` equivoco
${VARIABILE}+quello_che_vuoi e` chiaro
dipende molto dalla shell usata,
anche se tutte dichiarano essere Bourne compatibili
Se concateni, usa _sempre_ ${VARIABILE}
Il mio rc.M non ha "", oriiginale dal DVD.iso,
nessun errore, mistero informatico.
Re: /etc/rc.d/rc.M: line 135: [: too many arguments
Inviato: sab 14 feb 2009, 12:33
da targzeta
Mario Vanoni ha scritto:...nessun errore, mistero informatico.
Nessun mistero, si vede che tu non hai scaricato directory il cui nome contiene degli spazi
Spina
Re: /etc/rc.d/rc.M: line 135: [: too many arguments
Inviato: sab 14 feb 2009, 12:47
da raffaele181188
@Mario
L'errore me lo dava perchè io ho un tema di icone per KDE chiamato
Crystal\ Diamonds\ For\ Slackware. Usando Fluxbox non potevi avere il mio problema...
Mando una mail a Pat
Offtopic: Quindi mi conviene usare sempre ${var} come faccio in php
Meglio così!!! Grazie a tutti
Re: /etc/rc.d/rc.M: line 135: [: too many arguments
Inviato: sab 14 feb 2009, 13:03
da conraid
raffaele181188 ha scritto:@Mario
L'errore me lo dava perchè io ho un tema di icone per KDE chiamato
Crystal\ Diamonds\ For\ Slackware. Usando Fluxbox non potevi avere il mio problema...
Mando una mail a Pat
Offtopic: Quindi mi conviene usare sempre ${var} come faccio in php
Meglio così!!! Grazie a tutti
1) diffida delle cose che usano spazio nei nomi di files o directory
2) ${VAR} non ti risolve il problema, devi "quotare" come ti ha detto spina, cioè "$VAR" o "${VAR}"
Re: /etc/rc.d/rc.M: line 135: [: too many arguments [OK]
Inviato: sab 14 feb 2009, 13:16
da raffaele181188
Io diffido nel senso che non do mai alle directory nomi con gli spazi. Ma se scarico e ci sono... Poi può sempre capitare se si è abituati a lavorare in init4 (con filemanager grafici) di usare gli spazi nei nomi; per me (anche se frutto di cattiva abitudine) resta una svista di rc.M, quindi l'ho segnalata
Per la "quotazione" ho capito qual era il problema eh eh. E me lo risolvono gli apici doppi. Però avevo anche chiesto la differenza tra ${var] e $var, e dopo le spiegazioni di spina e mario ho deciso di usare sempre ${var} per non andare incontro a errori stupidi
Re: /etc/rc.d/rc.M: line 135: [: too many arguments [OK]
Inviato: sab 14 feb 2009, 15:06
da Mario Vanoni
raffaele181188 ha scritto: Però avevo anche chiesto la differenza tra ${var] e $var, e dopo le spiegazioni di spina e mario ho deciso di usare sempre ${var} per non andare incontro a errori stupidi
Una prova di quanto bash(1) non sia affidabile:
A=eee
echo $A
eee
echo $Aeee
echo ${A}eee
eeeeee
echo $A.eee
eee.eee
echo ${A}.eee
eee.eee