OVH Cloud OVH Cloud

exécuter automatiquement un programme dépendant du suffixe

16 réponses
Avatar
steve
Salut,

J'utilise quasiment toujours okular pour lire des pdf. Je les ouvre
depuis le terminal (konsole) via

$ okular fichier.pdf &

Je me demandais s'il existe une manière de raccourcir la ligne
ci-dessus, du genre

$ fichier.pdf <enter>

Il semble y avoir cette fonctionnalité sous zsh mais je n'ai rien trouvé
pour bash.

Une idée ?

Merci

S

6 réponses

1 2
Avatar
Charles Plessy
Le Thu, Oct 08, 2020 at 06:04:24PM +0200, Marc Chantreux a écrit :
et il me semble que meme sous debian (ou ubuntu?) il avait été évoqué de
virer bash pour dash. ce serait logique!

Bonjour Marc,
c'est fait depuis Squeeze:
$ ls -lh /bin/sh
lrwxrwxrwx 1 root root 4 janv. 18 2019 /bin/sh -> dash
Cordialement,
--
Charles Plessy
Akano, Uruma, Okinawa, Japan
Avatar
J?r?me
Le mardi 06 octobre 2020 à 12:09 +0200, steve a écrit :
J'utilise quasiment toujours okular pour lire des pdf. Je les ouvre
depuis le terminal (konsole) via
$ okular fichier.pdf &
Je me demandais s'il existe une manière de raccourcir la ligne
ci-dessus, du genre
$ fichier.pdf <enter>
Il semble y avoir cette fonctionnalité sous zsh mais je n'ai rien
trouvé
pour bash.
Une idée ?

Depuis des temps reculé, je me fait des raccourcis dans le fichier de
configuration du shell sur les quelques commandes que je veux utiliser
fréquemment et rapidement, par exemple :
v= vim
j = jump
xll = ls -l
la = ls -a
il sufit de rajouter
o = okular ou ok = okular, ça ne va pas t'user trop les doigts.
Dans la même idée, j'use beaucoup ma touche tabulation et j'ai quelques
scripts pour les choses plus compliquées dans /usr/local/bin
Et puis je ne suis pas trop convaincu de l'intérêt d'implémenter X et
freedesktop en ligne de commande. Autant utiliser powershell ]:->
Avatar
Pierre Malard
--Apple-Mail=_4E568602-AAC3-4199-98D1-974573E7A216
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=utf-8
Bonsoir,
Je ne vois pas très bien le rapport entre la question entre parenthèse et
le reste de l’objet. En ce qui concerne le débat BASH vs AutreSH, je ne
rentrerai pas dans le débat qui me rappelle de long débats entre CSH et
KSH, entre DASH et SH, entre …
Par contre en ce qui concerne la 2ème partie du sujet j’ai du relire le
nom de la liste pour être certain qu’on parlait d’Uni x tellement ça
sentait le DOS !
Si j’ai envie d’appeler TOTO.EXE ou TUTU.SH un device sous Unix ça n’a
absolument aucune importance. Le nom étant un nom et rien d’a utre pour
le système. Si j’ai envie de donner les droits d’exécution au contenu
ASCII des œuvres de Bidule, le système s’en fout, il tentera de les
exécuter (ce qui vaut peut-être mieux ;-) et plantera puisque ce n’est
pas un code exécutable. C’est toute la différence avec MsDOS Windows
qui basent l’objet sur son simple suffixe.
Si vous voulez avoir une petite idée du contenu d’un fichier, faite un
tour du côté de « file » (https://linux.die.net/man/1/file). Ce
programme tente, au moins, d’examiner le fichier visé.
Cordialement
Le 9 oct. 2020 à 13:06, Marc Chantreux a écrit :
salut,
Et moi je me suis mis à mksh ! Mais c'est vrai que c'est très léger
(même pour les besoins que j'ai) ; peut-être vais-je finalement migrer
sous ksh ?

leger au sens "ca prend presque pas de ressources" ou leger au sens
"j'aurais besoin de plus de fonctionalités pour arriver a mes fins"?
Dans le premier cas je t'encourage vraiment a regarder vers dash et rc:
le gros avantage de mksh par rapport à ces deux là, c'est qu'il a une
REPL tout a fait honorable pour son poids (completion, fc, ...) mais ca se
paye en kilos. perso l'utilise plus beaucoup la CLI (j'ouvre vim le
matin et je le ferme le soir) et je veux juste avoir la syntaxe la plus cool
possible avec le minimum de bytes. je me dirige donc de plus en plus vers rc.
coté "portabilité":
* rc est le shell par defaut dans toutes les distro actuelles de plan9 a
ma connaissance.
* je commence a croiser des scripts écrits en rc dans le monde bsd
(chose que je n'avais pas remarqué jusqu'à présent)
Dans le second cas je t'invite vraiment à poser des questions[1] mon
experience sur le sujet:
* venant de zsh (et dans une moindre mesure de bash), tu vas te
retrouver avec des constructions qui ne sont plus possibles
et il est tentant de retourner à zsh.
* en fait il y a souvent des solutions simples en passant par
un filtre externe (mais néanmoins POSIX pour ceux qui sont génés par
les problèmes de "portabilité/compatibilité")
* mieux connaitre ces filtres permet souvent de découvrir des astuces
qui sont dispos même sur des environements très petits (genre
toybox/busybox).
cordialement,
marc
1: je ne sais pas si cette liste est le bon canal (c'est un peu off
topic). je te proposerais bien de t'inscrire à shell (la liste de shell
scripting francophone inactive depuis 2015 :)).
https://lists.asyd.net/mailman/listinfo/shell

--
Pierre Malard
Responsable architectures système GeoSUD
IRD - UMR Espace-Dev - UMS CPST
Maison de la Télédétection
500 rue Jean-François Breton
34093 Montpellier Cx 5
France
Fraternité :
Elle disparaît de plus en plus devant l’idéologie ultra-libérale;
la solidarité.
Egalité :
Les lobbies, autrefois appelés corporatisme et combattu par
la révolution, lui taillent des croupières en influant de plus
en plus les lois et l'esprit des lois (école, assurance, chasse, allocs, ...)
Liberté :
Que représente t'elle sans ses corollaires ? Une vue à
court terme en oubliant nos enfants ?
| _,,,---,,_
/,`.-'`' -. ;-;;,_
|,4- ) )-,_. , ( `'-'
'---''(_/--' `-'_) πr
perl -e '$_=q#: 3| 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-. ;-;;,_: |,A- ) )-,_. , ( `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"' `-'"'"'_): 24πr::#;y#:#n#;s#(D)(d+)#$1x$2#ge;print'
- --> Ce message n’engage que son auteur <--
--Apple-Mail=_4E568602-AAC3-4199-98D1-974573E7A216
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename=signature.asc
Content-Type: application/pgp-signature;
name=signature.asc
Content-Description: Message signed with OpenPGP
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEE0KHTJ+AWKhmI+acm/pSWHuad/BgFAl+Aw3wACgkQ/pSWHuad
/Bh0eA/+JDnV6DSs5T5QsrrOjXSXhynEu2hXqitgqwpL+SS1zRG5LeypKE+fkXKh
6YHvOwlGAVqoQJ0bU/JFgrjaqE/wPhVw+ol2zRb/ZxPnCKd5oFhHuW/W1TbtNckt
dTNtZf1TZJSz8UFLmQxX5JH46y1A0/FQSnMXpnyIu39l0FDb6xsSQcXoXrN7UVy6
WN0IgDUwMSJUgOlvxFaK3sHl67izhgXNuDoKWIIiSPOAhzZ5aco+lS/Boj2+0Nh5
fyfjhY0xQ783LYOnDij3APkGJ3IkSNlxeuTBHiUnqsjNlyYufvHeqWJz3tCt5q4b
B02TEMbEPGslYyi8Qroc8uRWlyRkROL9dkUQ//tGDZep6cMZ0yG73kOmj3VKMLVk
ZAL4N8nCf8YvLcTYqoUfzpLQSPIEiTa/cY5hOTrh9XzqeZU3Q/k0cysdBB7B1OlD
K0KAGu2UCAMujoAAlfVsdaTFtMljCcojZQuydzXwT3Xdv50LbxoonXe/OvFzPVmY
C4Vi0YY1dTBX6mAfBe2YQy8fSIJ9Ttae1AgdEXoMEtkvZjXt8B61QXdODAaNaLuc
RuLrMpEeZVT2q6j0636OYPqsAs1aUrYwS6iQMnKFvmL25aWIbQULsTSjqJXoccvj
tpXMqk15MqnDK4HAbXqs/Wx9FobU8Tq3urNXvs3ZC23QD4HT1So =n/li
-----END PGP SIGNATURE-----
--Apple-Mail=_4E568602-AAC3-4199-98D1-974573E7A216--
Avatar
Marc Chantreux
salut,
Je ne vois pas très bien le rapport entre la question entre parent hèse et
le reste de l’objet.

* la demande initiale était de mimer le fonctionement des suffixes a lias
de zsh.
* ma réponse était: passer de bash a zsh ca apporte ça et plein d'autres
choses.
* s'en est suivi la discussion habituelle "pourquoi changer un truc qui
marche par un truc qui marche mieux" (d'ou mon ajout entre parenthè se
pour bien marquer que le sujet avait dévié).
Si j’ai envie d’appeler TOTO.EXE ou TUTU.SH un device s ous Unix ça n’a
absolument aucune importance.

ca n'était pas la question :)
bon we
marc
Avatar
f6k
Bonjour Marc !
On Fri, Oct 09, 2020 at 01:06:40PM +0200, Marc Chantreux wrote:
salut,
Et moi je me suis mis à mksh ! Mais c'est vrai que c'est très léger
(même pour les besoins que j'ai) ; peut-être vais-je finalement migrer
sous ksh ?

leger au sens "ca prend presque pas de ressources" ou leger au sens
"j'aurais besoin de plus de fonctionalités pour arriver a mes fins"?

Oui ma phrase était ambigüe. En fait les deux légers étaient entendu
ici. D'abord au sens de ressources et donc subséquemment léger en terme
de fonctionnalité. J'utilise le shell interactif de manière assez peu
poussée (même si c'est mon moyen d'interaction unique avec mon
environnement). Au final, les variantes "légères" (dans les deux sens)
de pdksh me vont bien.
Dans le premier cas je t'encourage vraiment a regarder vers dash et
rc: le gros avantage de mksh par rapport à ces deux là, c'est qu'il a
une REPL tout a fait honorable pour son poids (completion, fc, ...)
mais ca se paye en kilos. perso l'utilise plus beaucoup la CLI
(j'ouvre vim le matin et je le ferme le soir) et je veux juste avoir
la syntaxe la plus cool possible avec le minimum de bytes. je me
dirige donc de plus en plus vers rc.

Alors, pareil pour ma machine principale, sauf que moi c'est jstar et
Emacs quand j'ai besoin d'une plus grosse artillerie. Du coup,
effectivement un shell plus léger (ici en fonctionnalité) me va bien.
Il faudrait que j'essaye rc, mais effectivement, j'ai quand même besoin
d'un certain "confort", de certaines fonctions. Donc rc sera réservé
peut-être pour des systèmes vraiment minimaux ?
Pour le serveur, c'est toujours bash. Force de l'habitude certainement
(et puis bash est partout sur mon serveur, ce qui n'aide pas).
Après quelques recherches, et pour en revenir à ma machine de bureau,
je suis depuis quelques jours sous le ksh d'OpenBSD (loksh sous
GNU/Linux) --- autre variante de pdksh donc. Je m'y retrouve sinon que
l'impossibilité d'avoir les lignes de shell "wrappé" (aucune idée de
comment on dit ça en français) me gène un peu. En gros (pour être plus
clair) avoir un équivalent de bash/readline de `set
horizontal-scroll-mode off' n'est pas possible à moins de sortir des
modes d'édition de ksh (mais là on perd les fonctions offertes par
raccourcis claviers). J'ai lu que c'était par design[1], donc j'attends
de m'adapter (mais ça me choque toujours de voir le début de ma ligne
disparaître à gauche quand elle est trop longue !).
1: https://marc.info/?l=openbsd-misc&m9334733427680&w=2
De la même manière, toujours sur le sujet de l'intéractivité, il me
manque certaines complétions. Peut-être existe-il des équivalents à
bash_completion.sh mais je ne sais pas à quel point cela prendrait plus
de ressources. Et, en y réfléchissant, je ne suis en fait même pas
certain que cela existe (sous OpeBSD du moins) étant donné la
propension de ces utilisateurs à ne pas vouloir s'éparpiller. D'après
mes lectures, chaque utilisateur personnalise lui-même ses complétions
"poussées" en fonction de ses besoins.
Pour le reste, ça va (j'ai l'impression de dire ça comme si cette liste
était un groupe de soutien de désintoxication :]).
[snip]
Dans le second cas je t'invite vraiment à poser des questions[1] mon
experience sur le sujet:
* venant de zsh (et dans une moindre mesure de bash), tu vas te
retrouver avec des constructions qui ne sont plus possibles
et il est tentant de retourner à zsh.

Oui j'ai remarqué effectivement.
* en fait il y a souvent des solutions simples en passant par
un filtre externe (mais néanmoins POSIX pour ceux qui sont génés par
les problèmes de "portabilité/compatibilité")

Également. J'ai vu passer des discussions sur ce sujet sur la liste de
discussion d'OpenBSD (du coup, je cherche à la source). Mais c'est
intéressant je trouve. Comme tu le dis justement après, cela ouvre des
perspectives. Par ailleurs, loksh (et donc pdksh/mksh aussi j'imagine)
on un mode POSIX (évidemment, me dira-t-on). Ça règle quelques soucis.
* mieux connaitre ces filtres permet souvent de découvrir des astuces
qui sont dispos même sur des environements très petits (genre
toybox/busybox).

C'est ma prochaine étape !
1: je ne sais pas si cette liste est le bon canal (c'est un peu off
topic). je te proposerais bien de t'inscrire à shell (la liste de shell
scripting francophone inactive depuis 2015 :)).
https://lists.asyd.net/mailman/listinfo/shell

Nom d'un chat, d'après les archives elle est même en relative mort
cérébrale depuis au moins 2012 :P Je la garde en mémoire malgré tout :)
Librement,
-f6k
--
~{,_,"> indignus LabRat - ftp://shl.huld.re
Avatar
f6k
Bonjour
On Sat, Oct 10, 2020 at 11:31:27PM +0200, Marc Chantreux wrote:
de mon coté quand je voulais faire du rc interactivement, je fais un
rlwrap rc (parceque le vi mode :)).

Je ne connaissais pas. Je vais y jeter un coup d'oeil. Merci !
a propos de rc: je trouve la syntaxe bien plus conviviale que dash et
mksh: les tableaux, l'operateur de concatenation, le pipeline branching
(cmp <{command 1} <{command 2}), la localisation facile des variables,
et surtout la syntaxe des structures de controle.
txts=( *.txt )
for (t in $txts)
echo about $t: `{file $t}
tu trouves des exemples ici:
http://doc.cat-v.org/plan_9/4th_edition/papers/rc

Tiens c'est marrant, je suis justement tombé sur ce lien hier matin en
parcourant le serveur Gemini d'un aficionados de plan9. C'est
intéressant effectivement !
-f6k
--
~{,_,"> indignus LabRat - ftp://shl.huld.re
1 2