【问题标题】:Unaccessible directory created by mkdir in bash scriptmkdir 在 bash 脚本中创建的不可访问目录
【发布时间】:2015-07-31 20:13:47
【问题描述】:

当我在 bash 脚本中使用 mkdir 时,我无法访问终端中创建的目录。

#!/bin/bash

date=`date --rfc-3339="date" --date='1 days ago'`
date=${date//"-"/""}
mkdir -p ⁠$date --verbose
touch $date/foe

当我在终端中使用 mkdir 时,一切都很好。 这是我得到的错误:touch: impossible de faire un touch « 20150518/foe »: Aucun fichier ou dossier de ce type 我试过带引号和不带引号。 我做错了什么?

【问题讨论】:

  • $data的内容是什么?
  • 提示:echo "[$date]"ls -lQ

标签: bash mkdir


【解决方案1】:

如果你愿意

+YYYYMMDD 敌人
date=`date --rfc-3339="date" --date='1 days ago'`
date=${date//"-"/""}
mkdir $date --verbose #remove -p option
touch $date/foe

或使用-p 选项,如果存在则没有错误,

date=`date --rfc-3339="date" --date='1 days ago'`
date=${date//"-"/""}
mkdir -p "$date/" --verbose #with -p option, add / symbol (quotes aren't mandatory)
touch $date/foe

如果你愿意

+YYYY +MM +DD 敌人
date=`date --rfc-3339="date" --date='1 days ago'`
date=${date//"-"/"/"}
mkdir -p $date --verbose
touch $date/foe

【讨论】:

  • 有效!我相信它是引号和'\'。非常感谢!