如何使用 Shell 脚本从变量输入中提取前 6 个字符

如何使用 Shell 脚本从变量输入中提取前 6 个字符

我在 Mac 自动程序中运行一个 shell 脚本。我对这种类型的脚本编写知之甚少。基本上只是从其他来源找到了一些可以使用的东西。我如何制作此行

mkdir "$1_"$(date -j +"%m%y")

仅使用内容中的前 6 个字符$1?例如,用户将类似 的文本输入123456Description到第一个变量中。我希望它删除Description(可以是任何文本),并仅挑选出条目中的前 6 位数字。

完整的 Shell 脚本如下:

mkdir -p "$1 $(date -j +"%m%y")/info"
rm -r "$1"
mkdir "${1:0:6}_"$(date -j +"%m%y")

答案1

bash可以使用

mkdir "${1:0:6}_"$(date -j +"%m%y")

请参阅章节变量扩展/子字符串替换高级 Bash 脚本指南:第 10 章操作变量

相关内容