No matter what any launcher command “./launcher * app
” exits with “ERROR: Config name must not contain upper case characters, spaces or special characters. Correct config name and rerun ./launcher.
”
I always have to comment “exit 1
” in this condition… it’s quite annoying…
Can you post one concrete call to launcher
that does this for you?
All calls does it:
./launcher bootstrap app
./launcher start app
./launcher enter app
./launcher rebuild app
The following trimmed script does it too:
#!/bin/bash
re='[A-Z/ !@#$%^&*()+~`=]'
if [[ $1 =~ $re ]];
then
echo "ERROR: Config name must not contain upper case characters, spaces or special characters. Correct config name and rerun $0."
fi
I believe condition is somehow case insensitive however shopt nocasematch
is disabled.
I tried it on clean ubuntu 14.04.3
I’ve got same problem when testing docker on Ubuntu 14.04.4
root@og:/var/discourse# lsb_release -a
Description: Ubuntu 14.04.4 LTS
root@og:/var/discourse# ./launcher rebuild app
ERROR: Config name must not contain upper case characters, spaces or special characters. Correct config name and rerun ./launcher.
The problem is related to locale.
Everything works as expected until I change the locale.
Try execute this before launcher:
locale-gen sk_SK.UTF-8
export LANG=sk_SK.UTF-8
I had this same problem on CentOS7
localectl set-locale LANG=en_US.utf8
I do this and still don’t work. I have no idea what can i do now? Some ideas?
Did you also export LANG=en_US.utf8
before running it? The current shell could have it’s own independent idea of locale.
As a separate matter, the test could be rewritten to be less locale sensitive:
#!/bin/bash
re='[^abcdefghijklmnopqrstuvwxyz0123456789_.-]'
if [[ $1 =~ $re ]];
then
echo "ERROR: Config name must not contain upper case characters, spaces or special characters. Correct config name and rerun $0."
fi
But maybe people wanted [configname]
to work…