shell 脚本:操作输入

shell 脚本:操作输入

我有这个简单的创建目录命令

#!/bin/bash
mkdir -p /home/test/$1

我正在像这样运行这个脚本

bash create.sh 2020/06/20/01

我想得到这个传递的参数并操纵以下内容

2020-06-20/01 

我该怎么做

答案1

你可以这样做:

date=${1%/*}                     # 2020/06/20
dirname=${date//\//-}/${1##*/}   # 2020-06-20/01
mkdir -p "/home/test/$dirname"

也许

IFS=/ read -ra date_bits <<<"$1"   # date_bits=([0]="2020" [1]="06" [2]="20" [3]="01")
printf -v dirname "%s-%s-%s/%s" "${date_bits[@]}"
mkdir -p "/home/test/$dirname"

相关内容