我正在测试一个脚本,想创建一个包含一些文本的小文件,所以我输入了以下内容,但忘记对文件名中的空格进行转义:
echo "bob">other name
Run Code Online (Sandbox Code Playgroud)
当我这样做时ls,它显示了文件“其他”,当我这样做时cat other,它显示的内容为:
bob name
Run Code Online (Sandbox Code Playgroud)
“名称”是如何出现在文件中的?我相信我在某处看到您可以在命令中的任何位置放置重定向。事实上,我刚刚测试了这个:
echo >other Some text in a file
Run Code Online (Sandbox Code Playgroud)
“文件中的某些文本”是“其他”的内容。
此功能的目的是什么?
当然,最初,我应该输入:
echo "bob">other\ name
Run Code Online (Sandbox Code Playgroud)
Joh*_*n T 13
这就是 bash 重定向的工作原理。
写这个:
echo "bob">other name
Run Code Online (Sandbox Code Playgroud)
相当于:
echo "bob" name >other
Run Code Online (Sandbox Code Playgroud)
重定向可以出现在行上的任何位置,人字形 ( >) 仅适用于“其他”。
这允许人们灵活地组织他们的命令。如果做这样的事情看起来更清楚:
>file.txt echo "one" "two" "three"
Run Code Online (Sandbox Code Playgroud)
那么这取决于编写脚本或命令的人。
| 归档时间: |
|
| 查看次数: |
201 次 |
| 最近记录: |