无法通过Linux终端中的路径运行文件

时间:2017-08-17 22:59:54

标签: linux bash terminal raspberry-pi3

您好我正在尝试通过键入我的Login.sh文件的整个路径来运行我的文件,因为我想在启动Raspberry Pi时自动运行我的程序。 我的Login.sh文件的路径是:

/home/pi/Desktop/RPI_code/Logger_v1_01/Login.sh

所以我的Login.sh文件如下:

#!/usr/bin/expect
spawn sudo openconnect vpn.ucr.edu/engineering 
expect -r "\[sudo] .*\: " {
       send "pw_for_my_linux\n"
}

expect "Username:" {
       send "my_vpn_username\n"
}

expect "Password:" {
       send "vpn_password\n"
}
spawn sudo python logger.py
expect -r "\[sudo\] .*\: " {
       send "pw_for_my_linux\n"
}  

interact`

当我从终端在Logger_v1_01文件夹下运行时,这个程序工作正常。但是当我从/ home下的终端运行文件路径时,它会给我以下错误:

python: can't open file 'logger.py':[Errno 2] No such file or directory

任何人都可以帮忙解释为什么会这样?为什么我不能打开一个明显存在的文件?

1 个答案:

答案 0 :(得分:0)

当您运行logger.py时,您正在使用cd的相对路径。因此,如果它不在当前目录中,则无法找到它。您可以使用绝对路径并且可以从任何地方运行它,或者您可以在脚本中执行某些操作以确保它是本地的,就像总是对包含它的目录执行 <div class="swiper-container"> <div class="swiper-wrapper"> <div class="swiper-slide"> <video preload="auto" loop="" autoplay=""> <source src=".../> </video> </div> <div class="swiper-slide"> <video preload="auto" loop="" autoplay=""> <source src=".../> </video> </div> </div> </div>