alw*_*ng 3 command-line bash scripts
我正在尝试使用以下方法创建文件夹:
mkdir $(date +%Y-%m-%d %H%M)
Run Code Online (Sandbox Code Playgroud)
所以你看到两者之间有一个空格,我知道这不是最佳实践,但我想让它起作用。
我试图逃避空间,使用引号,但似乎没有任何效果,这让我发疯。
请问有什么想法吗?
您需要在整个$(...)命令替换(必须是“双引号”)以及格式字符串参数date(“double”或“single”都可以)周围加上引号:
mkdir "$(date '+%Y-%m-%d %H%M')"
Run Code Online (Sandbox Code Playgroud)
如果您不引用包含空格的参数(包括可能在其结果中包含空格的命令替换),它们将受到 shell 的分词,并且您最终会得到多个单独的参数而不是一个,这些参数将被解释不同的命令。
“双”和“单”引号之间的主要区别在于,您仍然可以在双引号内进行变量扩展和命令替换,而单引号会阻止任何类型的评估并使外壳程序按原样处理字符串。
| 归档时间: |
|
| 查看次数: |
1596 次 |
| 最近记录: |