[Terminal] - alias

Theeeta

Membre confirmé
18 Mars 2018
51
0
25
Bonsoir à tous,
Je viens de passer ma journée à essayer de créer un alias dans le terminal pour une commande sips (conversion d'images).
Evidemment, tout se passe bien pour créer l'alias le plus basique (alias l="ls -lah"), mais pour cette suite d'actions sips, impossible de faire fonctionner l'alias. Le terminal me renvoie "error 4: no file was specified".
Pourtant, la suite d'actions fonctionne parfaitement si j'essaie de la lancer sans alias, en tapant tout le code dans ma fenêtre.
Merci d'avance !
Theeeta
Bloc de code:
alias jpgmax="cd ~/Desktop/Photos/RAW_images ; for i in *.CR2 ; do sips -s format jpeg -s formatOptions 100 "${i}" --out "${i%CR2}jpg" ; done ; mv ~/Desktop/Photos/RAW_images/*.jpg ~/Desktop/Photos/Jpg_converted_images; say "Terminé" "
 
Bonjour Theeeta

Autant te prévenir d'emblée : je ne suis pas familier des alias dans l'usage du terminal - sans doute parce que l'emploi d'alias implique des tâches répétitives à accomplir pour lesquelles ils constituent des abréviations commodes > et qu'en ce qui me concerne j'aborde toujours une commande à passer comme un événement singulier.

Mais je peux toujours amorcer un bout de conversation sur le sujet.

- est-ce que tu as bien un fichier .bash_profile dans l'espace-racine de ton dossier de compte ? - fichier dans lequel tu enregistres la définition de ton alias ?​

- une fois enregistré un alias dans ton fichier .bash_profile > est-ce que tu passes bien dans la foulée la commande :
Bloc de code:
source ~/.bash_profile

  • afin de forcer la prise en charge des écritures du fichier comme préférences actuelles du terminal ?
 
Bonjour,
Merci pour la réponse !
J'ai bien enregistré mes alias dans ce fichier .bash_profile, situé à l'endroit que tu mentionnes.
Je n'avais pas passé cette commande, juste fermé et rouvert le shell après avoir enregistré le ficher .bash_profile. Malheureusement en essayant avec cette commande, ca ne fonctionne pas non plus...
 
Je reviens dans ton fil.

Je pense qu'il faut tout bêtement que tu encadres ta longue commande par des '...' et pas par des "...". Réenregistre ainsi ton alias dans .bash_profile :
Bloc de code:
alias jpgmax='cd ~/Desktop/Photos/RAW_images ; for i in *.CR2 ; do sips -s format jpeg -s formatOptions 100 "${i}" --out "${i%CR2}jpg" ; done ; mv ~/Desktop/Photos/RAW_images/*.jpg ~/Desktop/Photos/Jpg_converted_images; say "Terminé"'

  • puis passe la commande :
Bloc de code:
source ~/.bash_profile

  • pour charger la modification du fichier
  • et enfin passe la commande :
Bloc de code:
jpgmax

  • càd. ton alias

=> bilan ?
 
Tout fonctionne comme prévu !
Finalement, solution assez simple, mais je n'aurais jamais eu cette idée.
Merci beaucoup !