CLI 上的 Send
Bitwarden Send 是一套功能齐全的 CLI 命令。本文介绍了
bw send
命令的范围, 但是 Send 并不是一个独立于 Bitwarden 命令行界面(CLI)的工具。因此,CLI 文档中的许多命令、选项和概念与这里的都是相关联的。send
命令是用于访问所有与 Send 相关的子命令的主命令:bw send [options] [command] <data>
send
命令还可以作为快速 create
一个 Send 的快捷方式,例如:bw send "Fastest Send in the West."
将创建一个内容为
Fastest Send in the West
的文本 Send 对象并输出 Send 链接。或者,例如:bw send -f <path/to/file.ext>
将创建一个具有在指定
path
下的文件的文件 Send 对象并 输出 Send 链接。选项:
-n <name>
或--name <name>
用于指定 Send 的名称。如果没有指定名称,对于文本 Send,名称默认为id
,对于文件 Send,默认为文件名。对于多个字的名称,使用引号"<name>"
。-d <days>
或--deleteInDays <days>
用于指定 Send 的删除日期(如果没有指定,默认为 7 天)。--notes <notes>
用于添加私密备注到 Send 中。对于多个字的备注,使用引号"<notes>"
。--fullObject
用于将完整的 Send 对象输出为 JSON,而不是只输出 Send 链接(将此选项与--pretty
选项配对使用,以获得格式化的 JSON)。
完整的示例:
bw send -n "My First Send" -d 7 --hidden "The contents of my first Send."
create
命令用于创建一个 Send。与仅使用 bw send
相比,create
允许进行更高级的配置,接受已编码的 JSON 作为其参数:bw send create [options] <encodedJson>
一个典型的工作流程大致像这样:
- 1.
- 2.
- 3.
- 4.使用
create
命令从编码后的 JSON 创建一个 Send。
例如,要创建一个文本 Send:
bw send template send.text | jq '.name="My First Send" | .text.text="Secrets I want to share."' | bw encode | bw send create
例如,要创建一个文件 Send:
bw send template send.file | jq '.name="My File Send" | .type=1 | .file.fileName="paperwork.png" | .password="[email protected]"' | bw encode | bw send create
Windows
macOS
Linux
$delDate = (Get-Date).AddDays(14) | date -UFormat "%Y-%m-%dT%H:%M:%SZ"
bw send template send.text | jq ".name=\`"My Send\`" | .text.text=\`"Secrets I want to share.\`" | .password=\`"password\`" | .deletionDate=\`"$delDate\`"" | bw encode | bw send create
注意在此示例中,于在 Send 中配置了
.deletionDate
嵌套的 date
变量,因此 jq 调用必须使用双引号(" "
)进行包裹,并对每个筛选器使用转义符(\
)。bw send template send.text | jq ".name=\"My Send\" | .text.text=\"Secrets I want to share.\" | .password=\"mypassword\" | .deletionDate=\"$(date -uv+14d +"%Y-%m-%dT%H:%M:%SZ")\"" | bw encode | bw send create
注意在此示例中,于在 Send 中配置了
.deletionDate
嵌套的 date
变量,因此 jq 调用必须使用双引号(" "
)进行包裹,并对每个筛选器使用转义符(\
)。bw send template send.text | jq ".name=\"My Send\" | .text.text=\"Secrets I want to share.\" | .password=\"mypassword\" | .deletionDate=\"$(date "+%Y-%m-%dT%H:%M:%SZ" -d "+14 days")\"" | bw encode | bw send create
注意在此示例中,于在 Send 中配置了
.deletionDate
嵌套的 date
变量,因此 jq 调用必须使用双引号(" "
)进行包裹,并对每个筛选器使用转义符 (\
)。选项:
get
命令用于检索您拥有的 Send 并将其作为 JSON 对象输出。get
接受一个确切的 id
值或任何字符串作为其参数。如果使用字符串,get
将会在您的 Send 中搜索一个与之匹配的值:bw send get [options] <id / string>
选项:
--text
用于只输出文本 Send 的文本内容。--file
用于只输出文件 Send 的文件内容。将--file
与--output
搭配使用,用于指定一个目录,或者与--raw
搭配使用,用于输出到 stdout。--output <output>
用于为--file
选项指定输出目录。
edit
命令用于编辑一个现有的 Send 对象。edit
接受已编码的 JSON 作为其参数:bw send edit <encodedJson>
一个典型的工作流程大致像这样:
- 1.
- 2.
- 3.
- 4.使用
create
命令从编码后的 JSON 创建一个 Send。
示例:
bw send get <id> | jq '.name="New Name" | .password=null' | bw encode | bw send edit
选项:
--itemid <itemid>
用一个新的 id 值覆盖 Send 提供的 id 值。
您不能
edit
一个文件 Send 的文件。要这样做,您需要删除此 Send 然后使用适当的文件重新创建它。list
命令用于列出您拥有的所有 Send 并将其作为 JSON 输出:bw send list [options]
选项:
--pretty
用于格式化输出的 JSON。>
运算符用于使用管道将 stdout 传输到文件,例如:bw send list --pretty > /Users/myaccount/Documents/pretty_list_of_sends.json
delete
命令用于删除您所拥有的一个 Send。delete
命令接受一个精确的 id
值作为其参数:bw send delete <id>
如果您不知道要删除的 Send 的确切
id
,请使用 bw send get <search term>
进行查找。template
命令用于返回一个 Send 对象的预期 JSON 格式,template
接受一个 <object>
规格作为其参数,可以是 send.text
或 send.file
:bw send template <object>
虽然你可以使用
template
将格式输出到你的屏幕上,但最常见的使用范例是将输出的内容用管道输送到 bw send create
操作中,使用像 jq 这样的命令行 JSON 处理器和 bw encode
来操作从模板中检索的值,例如:bw send template send.text | jq '.name="My First Send" | .text.text="Secrets I want to share."' | bw encode | bw send create
receive
命令用于访问 Send。receive
接受 Send <url>
作为其参数:bw send receive [options] <url>
- 对于文本 Send,
receive
将返回 Send 的文本内容到 stdout。 - 对于文件 Send,
receive
将文件下载到当前工作目录。
选项:
--password <password>
用于提供一个字符串作为访问受密码保护的 Send 所需的密码。--passwordenv <passwordenv>
用于指定一个已存储的环境变量作为访问受密码保护的 Send 所需的密码。--passwordfile <passwordfile>
用于指定文件的第一行作为访问受密码保护的 Send 所需的密码。--obj
用于将完整的 Send 对象输出为 JSON,而不是只输出 Send 链接(将此选项与--pretty
选项配对使用,以获得格式化的 JSON)。--ouput <output>
用于指定文件 Send 内容的输出目录。
最近更新 9mo ago