You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何操作ProtonMail Bridge生成的pass超长文件名存储项

变量赋值报错原因

export $LONGDIRNAME=$(...)的写法存在语法错误,变量名前不需要加$符号。Bash执行时会先把$LONGDIRNAME展开为它的当前值(首次赋值时该变量为空),最终语句变成export =cHJv...,不符合变量定义的语法规则,因此抛出标识符无效的错误。


具体操作步骤

步骤1:正确获取长目录名并赋值

首先用ls获取目录名的同时去除输出自带的单引号:

# 方式1:用sed处理单引号
LONGDIRNAME=$(ls -1 .password-store/protonmail-credentials | sed "s/'//g")

# 方式2:用Bash原生参数替换,性能更高
raw_dir=$(ls -1 .password-store/protonmail-credentials)
LONGDIRNAME=${raw_dir//\'/}

步骤2:获取子目录下的存储项名称

pass操作不需要带.gpg后缀,因此获取文件名时要同时去掉单引号和后缀:

ENTRYNAME=$(ls -1 ".password-store/protonmail-credentials/$LONGDIRNAME" | sed "s/'//g" | sed 's/\.gpg$//')

步骤3:用pass正常操作存储项

路径参数用双引号包裹避免特殊字符影响:

# 查看凭证
pass show "protonmail-credentials/$LONGDIRNAME/$ENTRYNAME"

# 复制密码到剪贴板
pass cp "protonmail-credentials/$LONGDIRNAME/$ENTRYNAME"

# 其他pass操作(edit/rm等)同理替换命令即可

简化使用方案

可以把完整路径拼接为一个变量,后续直接调用即可:

PROTON_PASS_ENTRY="protonmail-credentials/$LONGDIRNAME/$ENTRYNAME"

# 后续操作示例
pass show $PROTON_PASS_ENTRY

内容的提问来源于stack exchange,提问作者user242007

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 05:18:01