bash - 检查参数是否为路径

标签 bash

我正在用 bash 编写脚本。它将接收 2 到 5 个参数。例如:

./foo.sh -n -v SomeString 类型目录

-n、-v 和目录是可选的。 如果脚本没有收到参数目录,它将在当前目录中搜索字符串。 否则它将遵循接收到的路径并在那里搜索。如果该目录不存在,它将发送一条消息。

问题是:有没有办法检查最后一个参数是否是路径?

最佳答案

您可以使用变量引用 获取最后一个参数:

numArgs=$#
lastArg="${!numArgs}"

# check if last argument is directory

if [[ -d "$lastArg" ]]; then
   echo "it is a directory"
else
   echo "it is not a directory"
fi

关于bash - 检查参数是否为路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23310218/

相关文章:

Linux 脚本与 netcat

linux - 如何在关闭终端窗口后运行特定的 bash shell 脚本?

linux - 限制 incrond 生成的并发进程数

linux - 获取刚刚启动的 screen session 的PID

python - 如何用唯一编号的标记范围替换分隔范围?

linux - 将 ls 命令的结果保存在本地计算机上的远程 SFTP 服务器中

bash - 将计数附加到多个文件中的代码并保存结果

linux - mkdir $HOME/错误

regex - 用 SED 将数字用双引号括起来

linux - 在 linux 终端中如何使用 gnome-terminal 打开 ssh session 并在 ssh session 中键入 bash 命令