In Linux / Ubuntu, file extension really are only used for the user to easily identify what the file is.
Using the command file
can show you what the file is actually supposed to be. It will read the contents of the file and tell you what it is. So, when a file is empty, it just shows a normal text icon. Once it has content then it will show correctly.
Examples:
terrance@terrance-ubuntu:~/tmp$ touch file.bsh
terrance@terrance-ubuntu:~/tmp$ file file.bsh
file.bsh: empty


Added #!/bin/bash
to the file.bsh file:
terrance@terrance-ubuntu:~/tmp$ cat file.bsh
#!/bin/bash
terrance@terrance-ubuntu:~/tmp$ file file.bsh
file.bsh: Bourne-Again shell script, ASCII text executable

