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

如何让ROT-5加密Bash脚本兼容文件名与命令行文本输入?

实现支持文件/直接文本输入的Bash ROT5转换器

你可以通过判断输入参数是否为文件来实现两种模式的兼容,修改后的脚本如下:

#!/bin/bash

# 处理输入内容:优先检测参数是否为文件,否则直接使用参数文本
if [ -f "$1" ]; then
    input_content=$(<"$1")
else
    input_content="$1"
fi

# 输出原始内容与ROT5转换结果
echo "$input_content"
echo "$input_content" | tr 'A-Za-z' 'F-ZA-Ef-za-e'

关键逻辑说明

  • [ -f "$1" ]:检查第一个传入的参数是否是存在的普通文件,如果是就读取文件内容到input_content变量;
  • 若参数不是文件(比如直接传入的明文),则将参数本身赋值给input_content;
  • 后续统一对input_content执行转换,保证两种输入模式的逻辑一致性。

使用示例

  1. 处理文件:
./rot5.sh filename.txt
  1. 直接处理文本:
./rot5.sh encodemysecretmessage

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 02:10:20