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

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

10 réponses

1 2
Avatar
Erwan David
Le 06/10/2020 à 12:09, steve a écrit :
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

Ça doit pouvoir se faire via binfmt, non ?
Avatar
steve
Le 06-10-2020, à 14:45:38 +0200, Marc Chantreux a écrit :
salut,
Il semble y avoir cette fonctionnalité sous zsh mais je n'ai rien trouvé
pour bash.

Une idée?

passer sous zsh évidement :)

Je me tâte depuis longtemps :)
FYI (sans troller ni tenter de te sortir du coté obscur):
* sous dash ou rc j'ai juste une fonction x qui appelle xdg-open
x () xdg-open "$@"
* sous zsh l'idée est de définir un alias dont seul le suffixe
est utilisé. il y a peut-être un truc analogue en bash ?
extrait de ma conf:
# all those extensions are open with the configured default app
() {
alias -s $^@=xdg-open
} xls od{p,g,t} png jp{e,}g gif avi mkv
# so i can write ./slides.pdf -s&
# ./my.slides
alias -s {pdf,ps}=evince slides=vim
# copy/paste a repo url in the terminal to just clone
alias -s git='git clone --depth=1'

C'est exactement ce que je recherche.
Vais finalement devoir y passer à zsh…
Merci
Avatar
steve
Le 06-10-2020, à 14:47:27 +0200, Erwan David a écrit :
Ça doit pouvoir se faire via binfmt, non ?

Merci je ne connaissais pas. Je suis tombé sur
https://lea-linux.org/documentations/Admin-admin_env-binfmt
Le problème c'est qu'il faut rendre exécutable (chmod u+x) les fichiers
qu'on souhaite lire avec cette méthode, ce qui n'est ni pratique, ni
(peut-être) sécurisé.
Existe-t-il une autre méthode sans ces contraintes ?
Avatar
Marc Chantreux
Vais finalement devoir y passer à zsh…

* j'étais tellement fan de bash que j'étais à l'initiative de la
traduction de l'ABS
* il y a ~ 20 ans, une nouvelle version majeure de bash est sortie
et j'ai lu une review quelque part. la conclusion était quelque ch ose
du genre "bel effort mais on est encore loin de zsh"
* je me suis dis que j'allais regarder du coté de zsh pour voir si j e
pouvais modérer son propos.
* je suis encore sous zsh aujourd'hui
par contre quand j'ai besoin de shells plus petits, j'utilise mksh, dash
et rc. selon ce que je cherche, donc, bash c'est soit trop lourd soit
pas assez intéressant.
Je ne doute pas qu'on puisse faire les mêmes choses avec bash et zsh
(tableaux associatifs (iterer/filter sur les clef ou les valeurs,...),
expressions arithmétique, ...) sauf que j'ai toujours trouvé qu e la
syntaxe ou l'approche proposée par zsh était plus élé gante.
bonne journée à toi
marc
Avatar
steve
Bon et bien je m'y suis mis.
Merci marc  ;)
Le 06-10-2020, à 16:41:34 +0200, Marc Chantreux a écrit :
Vais finalement devoir y passer à zsh…

* j'étais tellement fan de bash que j'étais à l'initiative de la
traduction de l'ABS
* il y a ~ 20 ans, une nouvelle version majeure de bash est sortie
et j'ai lu une review quelque part. la conclusion était quelque chose
du genre "bel effort mais on est encore loin de zsh"
* je me suis dis que j'allais regarder du coté de zsh pour voir si je
pouvais modérer son propos.
* je suis encore sous zsh aujourd'hui
par contre quand j'ai besoin de shells plus petits, j'utilise mksh, dash
et rc. selon ce que je cherche, donc, bash c'est soit trop lourd soit
pas assez intéressant.
Je ne doute pas qu'on puisse faire les mêmes choses avec bash et zsh
(tableaux associatifs (iterer/filter sur les clef ou les valeurs,...),
expressions arithmétique, ...) sauf que j'ai toujours trouvé que la
syntaxe ou l'approche proposée par zsh était plus élégante.
bonne journée à toi
marc
Avatar
f6k
Bonjour,
On Wed, Oct 07, 2020 at 06:00:42PM +0200, steve wrote:
Bon et bien je m'y suis mis.
Merci marc  ;)
Le 06-10-2020, à 16:41:34 +0200, Marc Chantreux a écrit :
par contre quand j'ai besoin de shells plus petits, j'utilise mksh, dash
et rc. selon ce que je cherche, donc, bash c'est soit trop lourd soit
pas assez intéressant.


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 ?
Merci aussi :)
-f6k
--
~{,_,"> indignus LabRat - ftp://shl.huld.re
Avatar
steve
J'ai des dizaine de script écrits en Bash. Existe-t-il un moyen
automatique de les porter sous Zsh ?
Avatar
Rom1
J'utilise ZSH au quotidien sur mon ordi de travail et j'utilise BASH pour les serveurs. Dès que je dois écrire un script, je le fais le plus souvent en BASH même si je suis sur un shell ZSH. Le plus important c'est d'utiliser le bon shebang (https://fr.wikipedia.org/wiki/Shebang) pour que le système exécute le bon interpréteur.
Shebang:
#!/usr/bin/env bash
Le 08.10.20 à 11:35, steve a écrit :
J'ai des dizaine de script écrits en Bash. Existe-t-il un moyen
automatique de les porter sous Zsh ?
Avatar
steve
Le jeudi 08 octobre 2020, Rom1 a écrit :
J'utilise ZSH au quotidien sur mon ordi de travail et j'utilise BASH
pour les serveurs. Dès que je dois écrire un script, je le fais le plus
souvent en BASH même si je suis sur un shell ZSH.

La question est pourquoi ?
Avatar
Rom1
La réponse est pourquoi faire en ZSH?
ZSH est un shell sympa et très modifiable avec plein de fonctionnalités intégrées. Par contre tu ne le retrouves de base installé dans les environnements systèmes. Quand tu fais de la maintenance de serveurs, tu aimes avoir un système identique et stable. Cela fait des dizaines d'années que c'est BASH comme interpréteur sur les systèmes GNU/Linux et avant c'est Bourne shell (SH). BASH est retro-compatible avec les scripts SH. Donc pour des raisons de compatibilité futur, un script ce fait souvent avec BASH et suivant le type de machine qui l'accueil il faudrait préférer la syntaxe du Bourne Shell.
Après si tu veux t'amuser à récrire tes scripts, tu peux! Mais je ne sais pas si il y a un outil pour la conversion de script.
Le 08.10.20 à 12:15, steve a écrit :
Le jeudi 08 octobre 2020, Rom1 a écrit :
J'utilise ZSH au quotidien sur mon ordi de travail et j'utilise BASH
pour les serveurs. Dès que je dois écrire un script, je le fais le plus
souvent en BASH même si je suis sur un shell ZSH.

La question est pourquoi ?
1 2