Command not found when executing bash script

I’m opening a terminal in the directory of a bash script and trying to execute it. ls shows the script in the current directory but when I type and enter

sudo ./voxin-installer.sh

I get “command not found”. What could be causing this error? I set the script property to ‘executable’ but that doesn’t make a difference.

Well, what does the script do ? Sounds like a command it wants to execute is not found…

2 Likes

It installs a voice for Orca. I didn’t have trouble on my laptop, but laptop of a person I’m trying to help gets this error. We both have fairly new installs of Ubuntu 24.04.3 LBT.

It sounds like the script itself is fine, but the system might not be executing it correctly. I use Voxin myself, and this installation method works reliably — just make sure to adjust the folder names to match your version of Voxin:

sha512sum --ignore-missing --check Voxin-ENU-V3.3-RC4
cd Voxin-ENU-V3.3-RC4
sudo --login $PWD/voxin-installer.sh
sudo reboot

Running the installer with sudo --login ensures all environment variables are loaded correctly, which often fixes the “command not found” issue on some systems.

Feel free to share any error output if the problem continues — happy to help further.

By the way, are you using the default Voxin voice that comes with ETI-Eloquence, or did you purchase one of the Vocalizer voices?
If it’s a Vocalizer voice, you can actually get it as a .deb package and install it directly without needing the Voxin installer script.

Let me know which one you’re trying to install — that will help narrow down the issue.

Literally $PWD, or is that a moniker for the system password?

We’re using the Allison English Compact. Just testing at this point. I hadn’t heard of ETI-Eloquence, I’ll have a look.

$PWD literally means “the current working directory” — it’s not a password.
So sudo --login $PWD/voxin-installer.sh simply runs the installer script from the folder you’re currently inside.

  • Allison Compact is a Vocalizer voice.
  • ETI-Eloquence is the default Voxin voice (the classic Eloquence TTS).

If you’re using a Vocalizer voice like Allison, you can usually install it directly from a .deb package without needing the Voxin installer script. It’s simpler and avoids many script-related issues.

If you want the person you’re helping to hear what the ETI-Eloquence voice sounds like, you can share this video I made. At the end of the video, you can hear the actual ETI-Eloquence voice in action:

https://www.youtube.com/watch?v=AU1LxTer4rA

It might help them compare the sound quality with the Vocalizer voices like Allison.

1 Like

@jon-l-cosby I edited your topic title because a generic unspecific

command not found

does not really help us focus in on the issue.

Please consider searchability and discoverability when setting up topic titles.

Not only will you be helping yourself but also others looking for similar topics in the future.

Also added tags that help better define the issue.

Thanks

3 Likes

Did you remember to make the script executable?

If you try to run a script with sudo, and the script isn’t marked as executable, it will return command not found.

Here’s an example:

$ echo 'echo Hello' >script
$ sudo ./script
sudo: ./script: command not found
$ chmod +x script
$ sudo ./script
Hello

He mentioned in his original post that he already made the script executable, but I suspect he may have done it through the file properties rather than the command line. Sometimes the graphical checkbox doesn’t apply correctly or isn’t set the way we expect.

1 Like

As Paddy suggested,

  • open your script with an editor
  • add the following as the second line of the script
set -x
  • save the modified script
  • run the modified script

The system will echo the “paraphrase” of every command before executing. The line printed to your screen, immediately before the message telling you “command not found”, is the culprit and should be the start point of your troubleshooting. :slight_smile:

3 Likes