linux,编写shell程序,将一个文件名作为程序的参数,把该文件中的英文字母全部转换成大写字母

2025-03-22 21:55:22
推荐回答(2个)
回答1:

如果没有指定命令行参数,则直接退出。

如果指定了命令行参数,就把该文件的英文字母转化为大写保存在.caps文件中。支持同时多个参数。

代码如下。

#!/bin/bash
if [ $# -eq 0 ]
then
    exit 0
fi
upper(){
    tr '[a-z]' '[A-Z]' < $1 > $1".caps"
}
for file in $*
do
    upper $file
done

回答2:

将文件名作为程序的参数, 这个就是位置变量了哦,比如$1。
如果要将字符转化的话, 就是用tr了转换了, 比如tr A-Z a-z
如果楼主不懂的话, 就私下交流了。
当然, 以后要是遇到了Linux服务器的问题, shell编程问题, linux系统管理, 等等的问题, 也都可以一起研究啊!