Bash

ls:無法訪問文件:沒有這樣的文件或目錄。

  • February 18, 2013

在 shell 腳本中,我將不得不訪問儲存在 /usr/local/mysql/data 中的二進制日誌。但是當我這樣做時,

STARTLOG=000002
ENDLOG=000222
file=`ls -d /usr/local/mysql/data/mysql-bin.{$STARTLOG..$ENDLOG}| sed 's/^.*\///'`
echo $file

我收到以下錯誤:

ls: cannot access /usr/local/mysql/data/mysql-bin.{000002..000222}: No such file or directory. 

但是,當我手動輸入範圍內的數字時,shell 腳本會正常執行而不會出錯。

嘗試使用seq(1)

file=`ls -d $(seq --format="/usr/local/mysql/data/mysql-bin.%06.0f" $STARTLOG $ENDLOG) | sed 's/^.*\///'`

引用自:https://serverfault.com/questions/479849