I created the file:
tinymce_compressor.sh
$chmod +x tinymce_compressor.sh
$ tinymce_compressor
-bash: tinymce_compressor: command not found
How can I run this shell script in terminal?
Here's the full script:
#!/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
Thanks
The script is in your current directory, but which is not in your path (which is what the shell uses to try and find commands to run) by default. So,
should do the trick. For more information on the command search path, and why it may not be a good idea to include the current directory (aka ".") in the path, see "What's wrong with having '.' in your $PATH ? " from the Unix frequently asked questions list..
By default the current directory isn't on the path; you need to specify that the script is in the current folder (
.
):You have made it, just call
It seems that you come from Windows, where executables can be called without extensions and the current directory is always in
PATH
.