is there a way to run *.sh file by just touching it in a file manager?
Matthew Read is right in the comments, but you can still have a workaround for the goal. 

Tasker offers a "Task Shortcut" feature that can be used to place shortcuts on home screen. You can use this feature to place task shortcuts for your scripts on home screen, if not in file manager. Many Launcher app nowadays allow folder creation on home screen so you can place and pack as many shortcuts as you like.

Instructions


To add a Task shortcut, go into Widget selection in your default launcher and choose Task Shortcut.
Enter a name which would be the name of the shortcut &rarr; + &rarr; Code &rarr; Run Shell.
Enter the details as per your needs. You may either paste the code into Command field, or type sh &lt;SCRIPT_FILEPATH&gt; where &lt;SCRIPT_FILEPATH&gt; should be your script's location. 

Use Root if necessary. Save the errors or results into variables (can write into files too) because unlike desktop OS, nothing like launch of terminal window, printing of standard output ,and then auto closing of that window is going to happen here. 
Save the task (pressing back key once saves things in Tasker).
Choose an icon and come back to home screen.
Tap the shortcut and it would now execute. Place as many shortcuts as you want. Also, you can execute those shortcuts as long as Tasker's service is running in background, which it would be unless you disable it manually or system force-closes it.