我是 Linux 新手,目前正在尝试在 Linux 分区中从命令行运行 bash 脚本。
该分区是/dev/sdb1
,并且脚本运行放置在该分区中的其他脚本。
我正在使用loc="$(locate -b '\my_dir')"
,但是当我运行主 bash 脚本时,它出现以下错误:
main_script.sh: line 31: /my/dir/secondary_script.sh: No such file or directory
我这么做了sudo updatedb
,但仍然没有成功。
看来该locate
命令在主分区中有效,但在 中无效/dev/sdb1
。
有什么建议吗?谢谢
答案1
看来,locate 命令在主分区中有效,但在 中无效
/dev/sdb1
。
看/etc/updatedb.conf
。
它看起来可能像这样:
PRUNE_BIND_MOUNTS="yes"
# PRUNENAMES=".git .bzr .hg .svn"
PRUNEPATHS="/tmp /var/spool /media /home/.ecryptfs /var/lib/schroot"
PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs
coda devpts ftpfs devfs mfs shfs sysfs cifs lustre tmpfs usbfs udf fuse.gluster
fs fuse.sshfs curlftpfs ecryptfs fusesmb devtmpfs"
这就是locate所扫描的内容,以及如果你想向数据库添加某些内容时它会跳过的内容。但是这个
main_script.sh: line 31: /my/dir/secondary_script.sh: No such file o directory
应该是你的脚本有问题。locate
如果找不到文件则不会显示错误。