![ls:无法访问文件:没有此文件或目录。](https://linux22.com/image/606379/ls%EF%BC%9A%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE%E6%96%87%E4%BB%B6%EF%BC%9A%E6%B2%A1%E6%9C%89%E6%AD%A4%E6%96%87%E4%BB%B6%E6%88%96%E7%9B%AE%E5%BD%95%E3%80%82.png)
在 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 脚本正常运行而没有错误。
答案1
尝试使用seq(1)
:
file=`ls -d $(seq --format="/usr/local/mysql/data/mysql-bin.%06.0f" $STARTLOG $ENDLOG) | sed 's/^.*\///'`