解决BASH SHELL脚本报错 ‘: not a valid identifier

本文介绍了解决Linux环境下Shell脚本出现乱码和':notavalididentifier'错误的方法。通常这类问题是由于Windows与Linux之间的文本格式不一致引起的。文章提供了使用UltraEdit工具将脚本转换为Linux格式的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 转载自无双城堡 | 恶魔天使

当在shell编辑脚本时,运行时出现了" ‘: not a valid identifier ",或者会出现(: command not found,许多莫名其妙的符号)很可能你在windows下编辑,在Linux下运行,由于Linux和windows的文本格式不同所导致的。

上面可能是反应之一,有时终端显示" :没有文件…"也是这个原因造成的 大部分由分号开头":"

解决方法:只要用UltraEdit工具转换成Linux格式,重新source运行无错误即可

Linux和windows的文本的区别:

1.Linux的换行:    "n" 
2.windows的换行: "rn"(回车,换行)

例如今天在RHEL中使用TOMCAT一直处于乱码,查看i18n,发现已经被修改成支持GBK的了,应该没问题,但是,一直都是乱码!猛然想起ssh登录时提示’: not a valid identifier 。又用locale看了一下,输出LANG竟然为空,正在郁闷要一个一个脚本翻着看时。source /etc/sysconfig/i18n 提示’: not a valid identifier 。下载用ultraedit转换后成为unix文件格式后,上传,执行source,重启TOMCAT,乱码消除!

 

附: i18n中文支持内容,省的到处找,解决中文乱码

#以下注释为原文件内容,英文的 
#LANG="en_US.UTF-8" 
#SYSFONT="latarcyrheb-sun16" 
#以下为中文支持内容 
LANG="zh_CN.GBK" 
LANGUAGE="zh_CN.GBK:zh_CN.GB2312:zh_CN" 
SUPPORTED="zh_CN.GBK:zh_CN:zh:en_US.UTF-8:en_US:en" 
SYSFONT="latarcyrheb-sun16" 
LC_ALL="zh_CN.GBK" 
export LC_ALL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值