resource - 操纵 Macintosh 资源
总览 SYNOPSIS
resource option ?arg arg ...?
描述 DESCRIPTION
resource 命令为处理 Macintosh
资源提供了一些一般操作。只在Macintosh
平台上支持这个命令。每个
Macintosh 文件由两个
fork组成: 一个数据 fork
和一个资源
fork。你可以使用通常的open、puts、
close 等命令来操纵数据
fork。但是要与资源 fork
交互你必须使用这个命令。Option
指示完成什么资源命令。可以接受
option
的一个唯一的缩写。有效的选项有:
- resource close
rsrcRef
- 关闭给定的资源引用(获取自
resource
open)。来自这个资源文件的资源将不再可获得。
- resource
delete ?options? resourceType
- 这个命令将删除用
options 和类型 resourceType
(参见下面的RESOURCE TYPES
资源类型)
指定的资源。下列选项给出指定要删除资源的一些方式。
- -id
resourceId
- 如果给出了 -id
选项,则使用 id resourceId
(参见下面的RESOURCE IDS
资源ID)指定要被删除的资源。id
必须是一个数 -
要指定一个名字请使用
-name 选项。
- -name
resourceName
- 如果指定了
-name,则删除叫做
resourceName
的资源。如果还提供了
-id,则要删除的资源必须有这个名字和这个
id
二者。如果未提供名字,则使用
id
而不管实际资源的名字。
- -file
resourceRef
- 如果指定了 -file
选项,则从 resourceRef
所指向的文件中删除资源。否则删除在资源文件路径上找到的有给定的
resourceName 和/或 resourceId
的第一个资源。要检查文件路径,应使用
resource files 命令。
- resource files
?resourceRef?
- 如果未提供
resourceRef,这个命令返回所有当前打开的资源文件的资源引用的一个
Tcl 列表。这个列表按
Macintosh
通常查找资源的次序来排序。如果指定了
resourceRef,这个命令将返回到那个记号表示的资源
fork
所在的文件的路径。
- resource list
resourceType ?resourceRef?
- 列出所有的类型
resourceType 的 id(参见下面的
RESOURCE TYPES
资源类型)。如果指定了resourceRef
,则这个命令把查找限制为这个特定的资源文件。否则,查找应用当前当前打开的所有资源文件。返回找到的资源的要么是资源名字要么是资源id
的一个 Tcl
列表。关于资源 id
的详情请参见下面的
RESOURCE IDS 资源 ID。
- resource open
fileName ?access?
- 打开文件 fileName
的中资源。还可以指定标准文件访问权限(详情参见
open
手册条目)。它返回可被其他资源命令使用的一个资源引用(resourceRef)。如果文件不存在或文件没有资源
fork
则产生一个错误。但是,如果你打开文件时加上了写权限,则建立这个文件和/或资源
fork
而不生成一个错误。
- resource read
resourceType resourceId ?resourceRef?
- 把类型是 resourceType
(参见下面的 RESOURCE
TYPES资源类型)并且名字或
id 是 resourceId
的全部资源(参见下面的
RESOURCE IDS 资源
ID)读到内存中并返回这个结果。如果指定了
resourceRef
,则这个命令把我们的查找限制为这个特定的资源文件,否则我们查找在应用中所有打开的资源。要注意:多数
Macintosh
资源使用二进制格式,并且从这个命令返回的数据可能包含嵌入的
NULL 或其他非 ASCII 数据。
- resource types
?resourceRef?
- 这个命令返回在 resourceRef
所指向的资源文件中找到的所有资源类型(参见下面的
RESOURCE TYPES资源类型)的一个Tcl
列表。如果未指定
resourceRef
,则它返回在应用当前打开的所有资源文件中找到的所有资源类型。
- resource
write ?options? resourceType data
- 这个命令把在 data
中传递进来的数据写为类型是
resourceType (参见下面的 RESOURCE
TYPES资源类型)的一个新资源。可获得许多描述资源存储在那里和如何存储的选项。
- -id
resourceId
- 如果给出了 -id
选项,则为新资源使用
id resourceId ( 参见下面的SOURCE
TYPES资源类型),否则生成一个与任何现存的资源不冲突的一个唯一的
id。但是,id
必须是一个数 -
要指定一个名字请使用
-name 选项。
- -name
resourceName
- 如果指定了
-name,则这个资源将叫做
resourceName,否则它将以空串作为名字。
- -file
resourceRef
- 如果指定了 -file
选项,则把资源被写入
resourceRef
所指向的文件中,否则使用最新近打开的资源。
- -force
- 如果目标资源已经存在,则
Tcl
缺省的不是覆写它,而是引发一个错误。使用
-force
标志来强行覆写现存的资源。
资源类型 RESOURCE TYPES
资源类型被定义为一个四字符的字符串,它被映射成一个底层
id。例如,TEXT 参照的
Macintosh
资源类型是文本。类型
STR#
是已计数的(counted)的字符串的一个列表。所有
Macintosh
资源必须是某种类型的。要得到通常使用的资源类型的一个完整列表请参见
Macintosh 文档。
资源 RESOURCE IDS
对于本命令,一个资源的
id 的概念(notion)实际上涉及
Macintosh
资源中的两个概念。在你可以使用资源
Id
的每个地方,你可以使用资源名字或者一个资源数。查找和返回总是偏好名字而不是数。例如,如果一个资源的名字存在则
resource list
命令将返回这个名字,如果资源的名字是
NULL 则返回数。
移植要点 PORTABILITY ISSUES
只在 Macintosh
上可获得这个命令。
关键字 KEYWORDS
open, resource
《中国 Linux 论坛 man
手册页翻译计划》:
http://cmpp.linuxforum.net
跋
本页面中文版由中文
man 手册页计划提供。
中文 man
手册页计划:https://github.com/man-pages-zh/manpages-zh