Salut à tous.

J'ai remarqué récemment que je passais autant de temps sous python que sous le shell linux, que j'utilise pourtant beaucoup. Et que bien souvent, les fonctionnalités de l'un me manquaient sous l'autre.

J'ai résolu le problème à l'instant
Voici un magnifique shell Python qui allie facilité du shell standard (bash) avec la puissance de Python.

Si ce shell est fait pour linux, il est probable qu'il fonctionne aussi sous dos avec un peu de modifs... à tester.

Je m'étais promis de libérer un jour un projet sous wtfpl. C'est maintenant chose faite, puisque vous pouvez jouer avec ce truc tout à fait librement Téléchargez-le maintenant, et mettez le direct dans votre /usr/bin

Ca vaut ce que ça vaut. C'est pas du "state of the art", mais ça fonctionne bien

Quelques exemples d'usage (oui oui, il y a vraiment des couleurs :p ):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
~/smallprog/pyShell > ls
pysh
pysh.tar.gz
README
~/smallprog/pyShell > stat pysh
  File: `pysh'
  Size: 7663      	Blocks: 16         IO Block: 4096   regular file
Device: 803h/2051d	Inode: 1704436     Links: 1
Access: (0755/-rwxr-xr-x)  Uid: ( 1000/ antoine)   Gid: ( 1000/ antoine)
Access: 2009-06-09 23:51:25.000000000 +0200
Modify: 2009-06-09 23:37:18.000000000 +0200
Change: 2009-06-09 23:43:37.000000000 +0200
~/smallprog/pyShell > for i in ls:
...     print i
... 
pysh
pysh.tar.gz
README
~/smallprog/pyShell > echo "Salut" >> test
~/smallprog/pyShell > echo "Hello" >> test
~/smallprog/pyShell > echo "Gutentag" >> test
~/smallprog/pyShell > echo "Salvus sis" >> test
~/smallprog/pyShell > for i in each('cat test'):
...     print i
... 
Salut
Hello
Gutentag
Salvus sis
~/smallprog/pyShell > a = ls
~/smallprog/pyShell > a
['pysh', 'pysh.tar.gz', 'README', 'subdir', 'test']
~/smallprog/pyShell > # Supporte les commentaires
~/smallprog/pyShell > # Les pipes |
~/smallprog/pyShell > # Les enchainements conditionnels && ||
~/smallprog/pyShell > # Les redirections > >> 2> <
~/smallprog/pyShell > cat test | grep t | grep a
Salut
Gutentag
~/smallprog/pyShell > mkdir subdir
~/smallprog/pyShell > touch subdir/test1
~/smallprog/pyShell > touch subdir/test2
~/smallprog/pyShell > touch subdir/test3
~/smallprog/pyShell > for i in tree:
...     print i
... 
./test
./pysh
./pysh.tar.gz
./README
./subdir/test2
./subdir/test1
./subdir/test3
~/smallprog/pyShell >
Edit: d'ailleurs vous pouvez même faire des import, classes et fonctions