Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Commandes qui ne fonctionnent pas

102 réponses
Avatar
bp
J'ai pris comme bouquin

Reprenez le controle à l'aide de Linux
de Mathieu Nebra
le Site du Zéro

Jusqu'à présent je le trouve très bien pour débuter.
Par contre il y a certaines commandes qui n'ont pas d'effet ou que je
ne trouve pas

Je serais plus précis ce soir

Cela peut il être possible que selon les version de linux il y ai des
commandes différentes?

10 réponses

Avatar
mrr
On 12/16/2014 04:25 PM, Doug713705 wrote:
Le 16-12-2014, François Patte nous expliquait dans
fr.comp.os.linux.configuration
(<m6pevj$n9r$) :

2 fois Tab

mais ça ne fonctionne pas



Tiens, je remarque pour la première fois que sous ma Wheezy
avec bash comme shell, ça ne fait rien non plus. Et effectivement
avec si je tape une première lettre puis 2 fois tabulation là
j'ai bien une liste de commandes qui apparaît.




Sous sid, j'ai:

Display all 3626 possibilities? (y or n)



Chouette un concours, ça faisait longtemps:

Display all 4389 possibilities? (y or n)




Je viens de voir que le double tab ne fonctionne pas chez moi non plus,
du moins en simple utilisateur.
Par contre, en root j'ai bien la ligne "Display etc."
Voilà donc un élément intéressant de compréhension à analyser, on
devrait finir par comprendre le mécanisme.
Quelle différence entre un shell root et un shell simple utilisateur
pourrait mener à ce comportement?

Par contre, un $SHELL != ${SHELL} dans un shell bash, c'est très louche!!

--
mrr
Avatar
mrr
On 12/16/2014 04:59 PM, Doug713705 wrote:
Le 16-12-2014, Dominique MICOLLET nous expliquait dans
fr.comp.os.linux.configuration
(<54904ee2$0$12763$) :

Bonjour,

Doug713705 wrote:
$ echo ${SHELL}



Ne fonctionne pas[1] avec bash sur Slackware.



Ben là !
Au vu du manuel de référence bash (3.5.3), l'expansion avec accolades des
variables semble être une obligation. Il y a des opérations de manipulation
du contenu de variables qui sont impossibles sans ces accolades.

Je suis sidéré et bien incapable d'aller plus loin.



Qu'on se comprenne bien, ça ne fonctionne pas _uniquement_ sur la
variable SHELL.

:~$ echo ${A}
12

:~$ B="usenet is dying, film at 11"
:~$ echo ${B}
usenet is dying, film at 11

:~$ echo ${SHELL}
/bin/bash

Bon, ben là je ne comprends pas mais d'un coup c'est tombé en marche !




Là franchement je dis que c'est honnête d'avoir publié ton message! Pas
mal pas mal :)

--
mrr
Avatar
Doug713705
Le 16-12-2014, mrr nous expliquait dans
fr.comp.os.linux.configuration
(<54905752$0$5124$) :

Par contre, un $SHELL != ${SHELL} dans un shell bash, c'est très louche!!



Après vérification dans l'historique, j'avais un problème sur la casse
du nom de la variable.


--
Allo S.O.S Amitié, Allo S.O.S amitié
La vie c'est pas du bubble-gum
Et rien que de respirer ça me fout des crampes dans le sternum
-- H.F. Thiéfaine, Taxiphonant d'un pack de Kro
Avatar
Dominique MICOLLET
Bonjour,

mrr wrote:
Par contre, en root j'ai bien la ligne "Display etc."
Voilà donc un élément intéressant de compréhension à analyser, on
devrait finir par comprendre le mécanisme.
Quelle différence entre un shell root et un shell simple utilisateur
pourrait mener à ce comportement?



La completion fait appel à une pléthore de fichiers de configurations, par
exemple pour ne proposer que les fichiers d'extension tgz à une commande
débutant par tar xzf.

Ces fichiers de configurations diffèrent certainement entre l'utilisateur
root et l'utilisateur lambda.

J'ai jeté un coup d'œil et j'ai eu peur.

Cordialement

Dominique
Avatar
Doug713705
Le 16-12-2014, mrr nous expliquait dans
fr.comp.os.linux.configuration
(<5490602d$0$2454$) :

Doug713705 wrote:
$ echo ${SHELL}



Ne fonctionne pas[1] avec bash sur Slackware.



Ben là !
Au vu du manuel de référence bash (3.5.3), l'expansion avec accolades des
variables semble être une obligation. Il y a des opérations de manipulation
du contenu de variables qui sont impossibles sans ces accolades.

Je suis sidéré et bien incapable d'aller plus loin.



Qu'on se comprenne bien, ça ne fonctionne pas _uniquement_ sur la
variable SHELL.

:~$ echo ${A}
12

:~$ B="usenet is dying, film at 11"
:~$ echo ${B}
usenet is dying, film at 11

:~$ echo ${SHELL}
/bin/bash

Bon, ben là je ne comprends pas mais d'un coup c'est tombé en marche !




Là franchement je dis que c'est honnête d'avoir publié ton message! Pas
mal pas mal :)



Comme souvent, le problème était entre la chaise et le clavier.
C'était un problème de casse dans le nom de la variable.

--
Mais le passé n'a pas d'amis
Quand il vient lécher les statues.
-- H.F. Thiéfaine, La môme kaléïdoscope
Avatar
mrr

J'ai jeté un coup d'œil et j'ai eu peur.




LOL, je crois que je vais aussi laisser tomber ici!
Je suis allé voir dans un de ces fichiers, un script shell, et parfois
il est inutile d'insister :)

Et le problème des accolades autour de SHELL n'en étant plus un, tout va
bien...


--
mrr
Avatar
Benoit Izac
Bonjour,

le 16/12/2014 à 10:27, bp a écrit dans le message
<548ffb5a$0$2488$ :

Il y a une autre commande qui affiche tout mais je ne l'ai pas encore
trouvé



Je ne connais pas de telle commande (quel est l'intérêt ?) mais pour le
fun :

printf "$PATH:" | tr ':' 'n' | while read -r d; do
find "$d" -type f -perm -a+x -print
-o -type d ! -name $(basename "$d") -prune
done

Le find est un peu tricky (l'ordre est important entre les deux parties
du ou) mais ça devrait être portable.

c'est en cela que je dis que selon les différents linux ça ne
fonctionne pas pareil



Ils ont normalement tous en commun une même base : POSIX.

Au passage :
% printf "$PATH:" | tr ':' 'n' | while read -r d; do
find "$d" -type f -perm -a+x -print
-o -type d ! -name $(basename "$d") -prune
done | wc -l
4450 ;-)

--
Benoit Izac
Avatar
yamo'
bp a écrit le 16/12/2014 09:12 :
pour avoir la liste de toutes les commandes une façon un peu brutale
entre autres :
faire 2 fois Tab

et l'exemple affiche près de 2000 commandes
chez moi rien ne se produit




Sur debian jessie en tant qu'utilisateur simple, ça ne fonctionne pas
mais en tant que root ça fonctionne :

#
Display all 3267 possibilities? (y or n)


C'est peut-être une histoire de PATH?

--
Stéphane <http://pasdenom.info/fortune/?>
La science n'a fait de progrès que depuis qu'elle a éliminé Dieu.
-+- Pierre-Joseph Proudhon, Étude de philologie sacrée -+-
Avatar
Dominique
Le 16/12/2014 16:25, Doug713705 a écrit :

Sous sid, j'ai:

Display all 3626 possibilities? (y or n)



Chouette un concours, ça faisait longtemps:

Display all 4389 possibilities? (y or n)



Je jette mon PC : Display all 3950 possibilities? (y or n)

C'est vexant :-)


--
Dominique
Courriel : dominique point sextant ate orange en France
Esto quod es
Avatar
Lucas Levrel
Le 17 décembre 2014, Sergio a écrit :

Le 16/12/2014 20:45, Benoit Izac a écrit :

> Il y a une autre commande qui affiche tout mais je ne l'ai pas encore
> trouvé



Je ne connais pas de telle commande (quel est l'intérêt ?) mais pour le
fun :



printf "$PATH:" | tr ':' 'n' | while read -r d; do
find "$d" -type f -perm -a+x -print
-o -type d ! -name $(basename "$d") -prune
done



Ça ne donne pas les commandes internes au bash...
(on les a par "help")



Ni les alias, qui ne sont pas non plus donnés par help.

--
LL
Ἕν οἶδα ὅτι οὐδὲν οἶδα (Σωκράτης)
C'est mieux avé les accents (F. Patte)