t  is a simple scriptWhat is different between two case below :$ .  tand$ ./t
What is the difference between '$ . foo' and '$ ./foo'?
bash;shell;shell script
. t won't open a new shell to run t, so all variables created or modified will remain after execution. t will be searched for in $PATH, so if you wanted to run t from the path where you are right now the command should have been . ./t./t will execute t which is in the path where we are right now spawning a shell for execution.To clarify a little bit more. Supose t contains:#!/bin/bash data=hello After you execute ./t you can echo $data from the command line and you will get nothing, but if you run . ./t and run echo $data you will receive a hello on your screen.