0

config.sh

hi="/home/user"
date_sec=`date '+%s'`

this is my file1.

main.sh

source config.sh
cd $hi
echo "$date_sec"

The source is not working in main.sh

Madura
  • 11
  • 1
  • 1

1 Answers1

2

Some shells requires the file that you source to be available in your $PATH unless you give a path to the script:

$ ksh93 main.sh
main.sh[1]: .: config.sh: cannot open [No such file or directory]

Changing the command to

source ./config.sh

should fix this.

Also, . (dot) is more portable than source and works with e.g. dash and should also work with any other shell masquerading as sh:

. ./config.sh

Apart from that, consider using $( ... ) rather than backticks in new scripts, and remember to quote your variables. I'd also suggest using printf rather than echo for variable output.

Kusalananda
  • 333,661