首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >":>档案“与">档案”

":>档案“与">档案”
EN

Stack Overflow用户
提问于 2010-03-18 19:09:12
回答 4查看 355关注 0票数 5

":> file"> file"“有什么区别吗?

代码语言:javascript
复制
$ : > file.out
$ ls -l file.out
-rw-rw----   1 user    user             0 Mar 18 21:08 file.out
$ > file.out
$ ls -l  file.out
-rw-rw----   1 user    user             0 Mar 18 21:08 file.out
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-18 19:15:30

:是内置的没有OP或null操作的shell。所以是的,把它指向一个文件,结果是一个空文件,就像不把任何东西指向一个文件一样。我想,有一种感觉,你的来源是一种不同的东西,但结果是一样的。根据到高级Bash脚本指南。的说法,"> file.out“公式在某些系统上是行不通的。

请注意,在这两种情况下(不像“触摸”),如果文件已经存在,文件内容将被替换为零。

票数 4
EN

Stack Overflow用户

发布于 2010-03-22 03:59:11

使用: > file.out更易于移植到非bash。例如,zsh将默认的空命令定义为cat,而不是: (除非在模拟模式下)。如果您最终需要使用不属于bash的/bin/sh (例如*BSD系统、任何封闭源代码操作系统,甚至现在使用dash的GNU/Linux发行版),那么使用: > file.out会使您的生活更轻松。

票数 4
EN

Stack Overflow用户

发布于 2011-07-31 16:16:47

根据POSIX,如果重定向失败,但是带有:的版本会中止,而只有重定向的版本只返回非零的退出状态。在后一种情况下,使用true更加便携。

Bash只在POSIX模式下正确执行此操作。

名为:的别名或函数违反了应用程序的POSIX约束,并且不可移植。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2472644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档