gpt4 book ai didi

linux - Bash 将安装的文件夹检测为目录

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:56 26 4
gpt4 key购买 nike

我正在创建这个具有文件夹路径的 bashs 脚本,作为参数传递。

如果它检测到参数是一个目录,那么它会将其用作脚本工作的路径。

但由于某些原因,它拒绝将此文件夹路径视为目录。

这让我不知所措。

这是一个已安装的外部 3tb 硬盘驱动器,工作正常,没有任何问题。

但是挂载为/media/wdmybook/

我有这个测试脚本来帮助我调试和识别问题。

#!/bin/bash
DIR="/media/wdmybook/folder"

if grep -qs '$DIR' /proc/mounts; then
echo "It's mounted."
else
echo "It's not mounted."
fi

if [ ! -d "$DIR" ]; then
echo "Directory does not exist!"
elif [ "$DIR" != -d ]; then
echo "Not a Directory"
else
echo "Path is okay"
fi

但每次我运行它时,它都会将路径检测为无效目录,并且不会挂载。

那么我错过或没有看到什么?

这是权限问题吗?

我在 Debian Wheezy XFCE 上运行它。

最佳答案

你应该将你的 if 条件重写为类似的东西:

if [ ! -e "$DIR" ]; then
echo "Directory does not exist!"
elif [ ! -d "$DIR" ]; then
echo "Not a Directory"
else
echo "Path is okay"
fi

详情见man test

关于linux - Bash 将安装的文件夹检测为目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26951635/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com