You're familiar with the idea of reading and writing data into files. But what about executing them? Executable files are just files where the data stored inside is a program that you can run on your computer.
Files with a .sh extension are shell scripts. They're just text files that contain shell commands. You can run a file in your shell by typing its filepath:
mydir/program.sh
Interestingly, if the program is in the current directory (in this example, the mydir directory), you need to prefix it with ./ to run it:
./program.sh
As far as file paths go, ./program.sh and program.sh are the same. The dot (.) is an alias for the current directory. We need the prefix when running executables so that the shell knows we're trying to run a file from a file path, not an installed command like ls, mkdir, chmod, etc.
There seems to be a suspicious script in the worldbanc/private/bin directory called genids.sh. It looks like it generates some type of identifier... First, let's remove our ability to run it, just to see what happens. The chmod command has a convenient -x flag that will simply remove the executable permission from the file.
chmod -x genids.sh
./genids.sh
You should get an error like this:
permission denied
chmod u+x <filename>
Paste only the output of the script into the input field and submit your answer.
You'll frequently download scripts from the internet to run on your machine, and often you'll need to make them executable before you can run them. I use chmod +x quite often as a developer.
The internet is a shady place. Only run verified scripts from trusted publishers and authors.