linux找不到文件怎么辦

linux找不到文件怎么辦

linux找不到文件怎么辦?

linux source shell腳本顯示找不到文件

例子:?

[root@localhost?osc]#?sh?a.sh? a.sh:?line?4:?source:?1.sh:?file?not?found [root@localhost?osc]#?cat?a.sh? #!/bin/bash cd?/data/osc/bin/ if?[?-f?1.sh?];then source?1.sh fi

剛開始,還以為權(quán)限問題,然后給權(quán)限,但結(jié)果還是一樣

man source ,找到原因了。source時(shí)找filename的問題。

source 命令找filename是在當(dāng)前的shell環(huán)境下找的,如果沒有反斜線,就在path中找,如果沒有就沒有。

source?filename?[arguments] ??????????????Read??and??execute?commands?from?filename?in?the?current?shell?environment?and?return?the?exit?status?of?the?last?command?exe- ??????????????cuted?from?filename.??If?filename?does?not?contain?a?slash,?file?names?in?PATH?are?used?to?find?the?directory?containing?file- ??????????????name.???The??file??searched??for??in??PATH??need??not?be?executable.??When?bash?is?not?in?posix?mode,?the?current?directory?is ??????????????searched?if?no?file?is?found?in?PATH.??If?the?sourcepath?option?to?the?shopt?builtin?command?is?turned?off,?the??PATH??is??not ??????????????searched.???If??any??arguments??are??supplied,?they?become?the?positional?parameters?when?filename?is?executed.??Otherwise?the ??????????????positional?parameters?are?unchanged.??The?return?status?is?the?status?of?the?last?command?exited?within?the?script??(0??if??no ??????????????commands?are?executed),?and?false?if?filename?is?not?found?or?cannot?be?read.

如下方式都可以:

1、將腳本所在的目錄加到PATH中

2、加上相對(duì)路徑或絕對(duì)路徑

3、就算是當(dāng)前目錄也得加./

推薦:《Linux教程

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊14 分享