2010-12-10 9 views
0

J'ai créé le fichier:Comment faire un fichier dans un script shell et l'exécuter?

tinymce_compressor.sh 
$chmod +x tinymce_compressor.sh 
$ tinymce_compressor 
-bash: tinymce_compressor: command not found 

Comment puis-je exécuter ce script shell dans le terminal?

Voici le script complet:

#!/bin/sh 
# Tinymce compressor shell script 
# 
# This program is free software; you can redistribute it and/or modify 
# it under the terms of the GNU General Public License as published by 
# the Free Software Foundation; version 2 of the License. 
# 
# 
# This program is distributed in the hope that it will be useful, 
# but WITHOUT ANY WARRANTY; without even the implied warranty of 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
# GNU General Public License for more details. 
#   
# (C) Copyright 2010 Gabor Vitez 
# 
# 
# Concatenates the tinymce components into a single static file 
# Can be used with any web server which can serve static files 
# Note you have to re-run this script every time you upgrade tinymce, 
# or change the required modules 
# 
# Usage: upon every invocation, the scipt will create a new 
# "tinymceappended.js" file, which contains the requested components 
# 
# In your html pages you have to change 
# 
# <script type="text/javascript" src="<your installation path>/tiny_mce/tiny_mce.js"></script> 
# 
# to 
# 
# <script type="text/javascript" src="<your compressed tinymce url>/tinymceappended.js"> </script> 
# 


#config section 
#where does tinymce live in the filesystem? 
BASE="/Users/xxxx/Sites/cline/public/javascripts/tiny_mce/" 
#under which URLs do the original tinymce components show up? 
URLBASE="/tinymce" 
#just as in the javascript config section 
THEMES="advanced" 
PLUGINS="safari spellchecker pagebreak style layer save advhr advimage advlink emotions iespell inlinepopups insertdatetime preview media searchreplace contextmenu paste directionality fullscreen noneditable visualchars nonbreaking xhtmlxtras" 
LANGUAGES="en" 
#end config section 

(
LOADED="" 
cd $BASE || exit 1 
#cat tiny_mce.js 
sed "s/tinymce._init();/tinymce.baseURL='\/tinymce';tinymce._init();/"<tiny_mce.js 
#echo "tinyMCE_GZ.start();" 
#cat tiny_mce_popup.js && LOADED="$LOADED $URLBASE/tiny_mce_popup.js" 
for lang in $LANGUAGES 
     do 
       cat langs/$lang.js && LOADED="$LOADED $URLBASE/langs/$lang.js" 
     done 
for theme in $THEMES 
     do 
       cat themes/$theme/editor_template.js && LOADED="$LOADED $URLBASE/themes/$theme/editor_template.js" 
       for lang in $LANGUAGES 
         do 
           cat themes/$theme/langs/$lang.js && LOADED="$LOADED $URLBASE/themes/$theme/langs/$lang.js" 
         done 

     done 

for plugin in $PLUGINS 
     do 
       cat plugins/$plugin/editor_plugin.js && LOADED="$LOADED $URLBASE/plugins/$plugin/editor_plugin.js" 
       for lang in $LANGUAGES 
         do 
           cat plugins/$plugin/langs/$lang.js && LOADED="$LOADED $URLBASE/plugins/$plugin/langs/$lang.js" 
         done 

     done 
echo 
#echo $LOADED >&2 
for i in $LOADED 
     do 
       echo "tinymce.ScriptLoader.markDone(tinyMCE.baseURI.toAbsolute(\"$i\"));" 
     done 
#echo "tinyMCE_GZ.end();" 
) >tinymceappended.js 

Merci

+0

peut-être ./tinymce_compressor.sh? Mais je ne suis pas sûr du tout ... – BlackBear

+0

Je suis sur la clôture de savoir si c'est même sur le sujet ici; il convient sur [Unix et Linux] (http://unix.stackexchange.com/) et peut-être [SU] (http://superuser.com/) –

Répondre

2

vous l'avez fait, il suffit d'appeler

$ ./tinymce_compressor.sh 

il semble que vous venez de Windows où executables peuvent être appelées sans extensions et le répertoire courant est toujours PATH.

1

Par défaut, le répertoire courant est pas sur le chemin; vous devez spécifier que le script est dans le dossier en cours (.):

./tinymce_compressor.sh 
2

Le script est dans votre répertoire courant, mais qui ne correspond pas à votre chemin (qui est ce que le shell utilise pour essayer de trouver des commandes exécuter) par défaut. Donc,

./tinymce_compressor.sh 

devrait faire l'affaire. Pour plus d'informations sur le chemin de recherche des commandes, et pourquoi il ne serait pas judicieux d'inclure le répertoire courant (".") Dans le chemin, voir "What's wrong with having '.' in your $PATH ? " dans la liste des questions fréquemment posées d'Unix ..

Questions connexes