当前位置:首页 » 编程软件 » 以utf8形式执行sh脚本

以utf8形式执行sh脚本

发布时间: 2022-05-19 11:18:47

㈠ 求逐条解释shell脚本 谢谢!

$ vi change.sh
2)、复制下面代码到change.sh
代码:
#!/bin/bash 注释 表示为bash脚本
cd /usr/share/man/zh_CN/ 进入这个目录 /usr/share/man/zh_CN/
for k in * 循环语句 k变量在任意的字符中时 执行下一步
do 循环语句格式
cd $k 进入k变量的目录
for i in *.gz 如果变量i为以.gz结尾的文件
do 执行for循环
j=`echo ${i%\.gz}` 定义变量j为输出 i符合.gz标准的值的路径
gunzip $i 解压i对应的压缩文件
iconv -f gb18030 -t utf8 $j >tmp 将j变量中的对应的文件转换格式到tmp文件中
mv tmp $j 剪切tmp文件 变为j变量的名称
gzip $j 压缩现在叫做j变量名的文件
done 循环结束
cd .. 返回上一目录
don 循环结束
3)、$ chmod 777 change.sh 修改启动脚本执行权限
4)、$ ./change.sh 执行脚本

㈡ 如何用脚本的形式在linux系统中解决修改乱码

方法一:使用VI

首先备份你的/etc/sysconfig/i18n文件:

命令:

cp /etc/sysconfig/i18n /etc/sysconfig/i18n.bak

使用:ls /etc/sysconfig/ 命令看看确定起路径下是不是同时有一个i18n 和 一个i18n.bak的文件(确认你已经做了备份)

然后使用vi编辑器对 i18n 进行编辑;初始的时候文件如下所示,但是可能只有其中的一两个;

LANG="en_US.UTF-8"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
SYSFONTACM="utf8"

然后你需要做的就是找到LANG 和 SUPPORTED 这两行,然后将以下内容对应着替换上。

LANG="en_US.UTF-8"
SUPPORTED="eu_ES.UTF-8:eu_ES:eu:zh_HK.UTF-8:zh_HK:zh:zh_CN.UTF-8:zh_CN:
zh:zh_SG.UTF-8:zh_SG:zh:zh_TW.UTF-8:zh_TW:zh:en_AU.UTF-8:en_AU:en:en_HK.
UTF-8:en_HK:en:en_US.UTF-8:en_US:en"

上面的是默认英文系统,支持中文简体、繁体、英文的设置

下面是中文设置

LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"

方法二:使用SSH

1.使用SSH连接上服务器,然后将/etc/sysconfig/下的i18n文件拖动到windows电脑上,(记得复制一个当备份)然后使用UltraEdit-32工具打开改文件

2.然后你需要做的就是找到LANG 和 SUPPORTED 这两行,然后将以下内容对应着替换上。

LANG="en_US.UTF-8"
SUPPORTED="eu_ES.UTF-8:eu_ES:eu:zh_HK.UTF-8:zh_HK:zh:zh_CN.UTF-8:
zh_CN:zh:zh_SG.UTF-8:zh_SG:zh:zh_TW.UTF-8:zh_TW:zh:en_AU.UTF-8:en_AU:en:en_HK.
UTF-8:en_HK:en:en_US.UTF-8:en_US:en"

3.将该文件保存完后拖回覆盖到linux的路径下,这样原文件就被覆盖了。

方法三:

我修改完文件,然后发给你,你把它拖进linux的/etc/sysconfig/路径下覆盖原文件。

图形界面上显示中文为方框的情况:是因为安装系统时没有选择安装支持中文显示。

解决办法:

将安装盘的第三张盘放进光驱中,然后找到一个ttfont_zh_CN的文件,将其安装后重新启动就能解决这一问题。

最好的是http://tech.sina.com.cn/s/2008-03-17/08532081295.shtml上的。

㈢ 保存脚本文件时,用兼容于UTF-8的方式编码,那解码也要用UTF-8吗

ASCII < ISO-8859-9 < UTF-8
解码是否需要指定UTF-8,要看你是否用到了ASCII/ISO-8859-9以外的字符。如果有就必须要用UTF-8

㈣ C语言如何生成UTF-8编码格式的文件

下面的Unix下函数可以会帮到你

getenv(取得环境变量内容)
相关函数 putenv,setenv,unsetenv
表头文件 #include<stdlib.h>
定义函数 char * getenv(const char *name);
函数说明 getenv()用来取得参数name环境变量的内容。参数name为环境变量的名称,如果该变量存在则会返回指向该内容的指针。环境变量的格式为name=value。
返回值 执行成功则返回指向该内容的指针,找不到符合的环境变量名称则返回NULL。
范例 #include<stdlib.h>
mian()
{
char *p;
if((p = getenv(“USER”)))
printf(“USER=%s\n”,p);
}

执行 USER = root

putenv(改变或增加环境变量)
相关函数 getenv,setenv,unsetenv
表头文件 #include4<stdlib.h>
定义函数 int putenv(const char * string);
函数说明 putenv()用来改变或增加环境变量的内容。参数string的格式为name=value,如果该环境变量原先存在,则变量内容会依参数string改变,否则此参数内容会成为新的环境变量。
返回值 执行成功则返回0,有错误发生则返回-1。
错误代码 ENOMEM 内存不足,无法配置新的环境变量空间。
范例 #include<stdlib.h>
main()
{
char *p;
if((p = getenv(“USER”)))
printf(“USER =%s\n”,p);
putenv(“USER=test”);
printf(“USER+5s\n”,getenv(“USER”));
}

执行 USER=root
USER=root

setenv(改变或增加环境变量)
相关函数 getenv,putenv,unsetenv
表头文件 #include<stdlib.h>
定义函数 int setenv(const char *name,const char * value,int overwrite);
函数说明 setenv()用来改变或增加环境变量的内容。参数name为环境变量名称字符串。
参数 value则为变量内容,参数overwrite用来决定是否要改变已存在的环境变量。如果overwrite不为0,而该环境变量原已有内容,则原内容会被改为参数value所指的变量内容。如果overwrite为0,且该环境变量已有内容,则参数value会被忽略。
返回值 执行成功则返回0,有错误发生时返回-1。
错误代码 ENOMEM 内存不足,无法配置新的环境变量空间
范例 #include<stdlib.h>
main()
{
char * p;
if((p=getenv(“USER”)))
printf(“USER =%s\n”,p);
setenv(“USER”,”test”,1);
printf(“USER=%s\n”,getenv(“USEr”));
unsetenv(“USER”);
printf(“USER=%s\n”,getenv(“USER”));
}

执行 USER = root
USER = test
USER = (null)

㈤ 执行shell脚本的方式有哪些

金陵图(韦庄)

㈥ shell脚本调用python处理中文错误的问题

解决方法有两种:
一,升级到较高的版本,比如3.1.2或者以上
第二,在python安装的目录找到site.py文件(Python2x\Lib\),修改def setencoding()方法,把
def setencoding():
"""Set the string encoding used by the Unicode implementation. The default is 'ascii', but if you're willing to experiment, you can change this.""" encoding = "ascii" # Default value set by _PyUnicode_Init() if 0: # Enable to support locale aware default string encodings. import locale loc = locale.getdefaultlocale() if loc[1]: encoding = loc[1]
....
把if 0,改为if 1

㈦ shell如何设置unix生成的文件为utf-8格式

在shell中修改环境变量LANG=en_US.utf8
可在/etc/sysconfig/i18n 中修改成LANG=en_US.utf8,则系统启动默认设置成utf-8。

㈧ linux php脚本执行,日志输出到文件乱码问题

转换一下编码试试

#从gb2312转为utf8

iconv -f GB2312 -t UTF-8 log.txt
> new_log.txt

或者
#从gb2312转为utf8
iconv -f UTF8 -t GB2312 log.txt
> new_log.txt

㈨ 怎样在Shell中把utf8编码转成中文显示

目前shell不支持unicode转义的字符串,bash4.2 alpha支持
可行的办法就是做字符替换,给个Python的demo,面向行处理
#!/usr/bin/env python

# -*- coding: utf-8 -*-

import re

import sys

def main():

for line in sys.stdin:

sys.stdout.write(re.sub(r'\\u\w{4}',

lambda e: unichr(int(e.group(0)[2:], 16)).encode('utf-8'),

line))

if __name__ == '__main__':

main()
复制代码
用法:
脚本保存为test.py,执行
sumomos-MacBook-Pro:py lgr$ echo '\u9ED8\u8BA4' | python ./test.py
默认

热点内容
wemall微商城源码 发布:2025-05-14 22:15:20 浏览:803
隆地优选交易密码是什么 发布:2025-05-14 21:53:23 浏览:94
强酸强碱存储柜 发布:2025-05-14 21:45:16 浏览:563
车辆参数配置包括什么 发布:2025-05-14 21:31:03 浏览:163
怎么引入安卓项目 发布:2025-05-14 21:26:39 浏览:824
游戏辅编程 发布:2025-05-14 21:18:49 浏览:687
三菱plc一段二段密码什么意思 发布:2025-05-14 21:17:16 浏览:528
电脑开机密码忘记了怎么破解 发布:2025-05-14 21:09:40 浏览:57
pythondict格式 发布:2025-05-14 21:09:38 浏览:887
落叶片拍摄脚本 发布:2025-05-14 20:40:49 浏览:800