Comment faire pour exécuter ce script plus facilement

J’ai un script Ruby que j’ai écrit qui sortinge certains fichiers dans un fouillis de répertoires basé sur son extension de fichier. Il serait très difficile de le sortinger en utilisant une interface graphique, et il est plus facile pour moi de simplement placer le fichier dans le répertoire le plus élevé et de laisser le sortingeur faire le travail.

Le problème est que je suis un peu un noob aux scripts Unix. Ce que je veux pouvoir faire, c’est pouvoir exécuter ce script de sorting de n’importe où sur mon ordinateur, sans avoir à

cd Desktop/Whatever/Foo ruby sorterscript.rb 

Il suffit d’écrire des sortfolders de sortfolders sur la ligne de commande et d’exécuter le programme.

J’ai testé le script plusieurs fois, et ça marche bien, je veux juste un peu plus de commodité.

Bonus : Si possible, et pas trop difficile, ce serait encore mieux si je pouvais lancer le programme, disons, toutes les heures automatiquement.

En ce qui concerne votre première question, vous devez faire deux choses:

  1. Ajoutez une ligne shebang à votre script (faites-en la première ligne du script):

    #!/usr/bin/ruby (ou quel que soit le chemin d’access à l’exécutable de l’interprète Ruby, j’oublie son emplacement exact)

  2. Rendre le script exécutable, soit via le menu contextuel “Find Info” du Finder, soit via la ligne de commande, par exemple:

    chmod 755 my_script.rb

  3. Ajoutez l’emplacement du répertoire de votre script à la variable d’environnement PATH au fichier launchd.conf d’OS X, comme décrit ici . Vous devez append cette ligne:

    setenv PATH /path/to/my/script:$PATH (remplacez le chemin réel par votre script)

En ce qui concerne votre question de bonus, vous pouvez utiliser cron pour configurer un travail récurrent. Je ne le fais jamais vraiment, mais voici la page cron man d’Apple pour vous aider à démarrer.