或者,有关强大的文件名处理和在 shell 脚本中传递的其他字符串的介绍性指南。
我写了一个 shell 脚本,它在大多数情况下运行良好。但它在某些输入(例如某些文件名)上窒息。
我遇到了如下问题:
hello world,它被视为两个单独的文件hello和world.\[*?,它们会被一些文本替换,这实际上是文件的名称。'(或双引号"),在那之后事情变得很奇怪。\分隔符)。这是怎么回事,我该如何解决?
如何使用 GNUtouch更新名为-?
如何使用 GNUcat显示名为-?
我在跑:
% cat --version | head -n1
cat (GNU coreutils) 8.29
% touch --version | head -n1
touch (GNU coreutils) 8.29
Run Code Online (Sandbox Code Playgroud)
首先,touch:
% touch -
% ls -l
total 0
% touch -- -
% ls -l -- -
ls: cannot access '-': No such file or directory
Run Code Online (Sandbox Code Playgroud)
好的,我将放弃使用touch. 让我们来创建它date:
% date > -
% ls -l -
-rw-r--r-- 1 ravi ravi …Run Code Online (Sandbox Code Playgroud)