我正在尝试在linux中编写一个简单的shell脚本,用于创建具有随机名称的目录。
名称必须从当天的日期后跟随机字符串 像在这个例子中: 2018-02-22y2Fdv9zzLVLupkl9El0dWalJAGTROLxE
这是shell脚本
#!/bin/bash
# the date
DATAOGGI= echo -n $(date +"%Y-%m-%d")
# random string
RANDOM_STRING=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
# the dir
NEW_DIR=$(echo -n ${DATAOGGI}${RANDOM_STRING})
echo $NEW_DIR
mkdir $NEW_DIR
不幸的是,即使变量NEW_DIR是正确的 echo $ NEW_DIR - > 2018-02-22y2Fdv9zzLVLupkl9El0dWalJAGTROLxE
目录的名称是 y2Fdv9zzLVLupkl9El0dWalJAGTROLxE
答案 0 :(得分:1)
尝试:
#!/bin/bash
DATAOGGI=$(date +"%Y-%m-%d")
RANDOM_STRING=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
mkdir "${DATAOGGI}${RANDOM_STRING}"
除了在这个示例中没有必要{E 1}} AFAIK行为非常不一致,建议使用echo -n
代替