【问题标题】:How do I find out if a parameter contains a "/" and if it does create the directory before it and the file after it如何确定参数是否包含“/”以及它是否在它之前创建目录和在它之后创建文件
【发布时间】:2019-11-01 16:15:24
【问题描述】:
我正在尝试创建一个脚本,该脚本在目录和文件之间使用带有 / 的参数。然后我想创建目录并在该目录中创建文件。我真的不知道我在做什么,所以除了 bash if 语句的基本框架之外,我没有任何代码。
#!/bin/bash
if [ $1 ?? "/" ]; then
do
fi
例如,如果传递了 Website/Google 的参数,则应创建一个名为 Website 的目录,并在其中创建一个名为 Google 的文件。
【问题讨论】:
标签:
linux
bash
grep
delimiter
【解决方案1】:
if [[ "$1" = */* ]];
dir=${1#/*}
file=${1%%*/}
fi
在bash 中,或者更普遍地用于与 POSIX 兼容的 shell,
case $1 in
*/*) dir=${1#/*}; file=${1%%*/} ;;
esac