Bash

從遠端腳本執行時查找不起作用

  • March 17, 2020

我在腳本中有以下行:

find ~ Templates -maxdepth 0 -type d -empty

正如預期的那樣工作正常。但是,當我將腳本複製到 samba 共享並從那裡(bash myscript.sh)執行它時,find找不到目錄:

find: ‘Templates’: No such file or directory 

$PATH 變數是相同的,在 strace 中我也找不到原因。

有人知道為什麼 find 會這樣嗎?這是一個錯誤還是我沒有find按照我應該的那樣使用命令?

使用 Ubuntu 19.10 和 bash 5.0

您收到消息find: ‘Templates’: No such file or directory是因為沒有 Templates 子目錄

  • 要麼 - 從您執行腳本的那一刻開始
  • cd或 - 在腳本中未提及的部分已切換到的目錄中

我想知道這是否都是一個錯字,你的意思是~/Templates。無論哪種方式,您都不應該~在腳本中使用,而是使用"$HOME",因此生成的路徑將是"$HOME/Templates".

“不,因為模板是我在 ‘~’ 或使用者主目錄中搜尋的目錄”

find ~ -maxdepth 0 -type d -empty -name Templates

引用自:https://unix.stackexchange.com/questions/573259