淘汰shell版本,cpp版本增加确定机制

This commit is contained in:
2022-03-06 11:34:18 +08:00
parent d1765d2689
commit 7d9a834453
5 changed files with 33 additions and 26 deletions
+5
View File
@@ -0,0 +1,5 @@
################################################################################
# 此 .gitignore 文件已由 Microsoft(R) Visual Studio 自动创建。
################################################################################
/.vs
+6 -19
View File
@@ -1,37 +1,24 @@
# 一键切换Ubuntu系统到简体中文 # 一键切换Ubuntu系统到简体中文
## **注意!程序运行完之后会自动重启目标电脑/服务器,请确保没有未保存的工作!否则后果自负!**
## 这个程序有且仅在Ubuntu系统上测试过,18.04及以上应该都不会有问题,非Debian系列应该都用不了 ## 这个程序有且仅在Ubuntu系统上测试过,18.04及以上应该都不会有问题,非Debian系列应该都用不了
*** ***
## 两个版本 ## 编程语言
1.C++ C++
2.纯Shell 原本shell那个版本已经被彻底淘汰了,因为我从头到尾就不会bash,用cpp还能做更多设置
## 不同版本区别
这两个版本的唯一区别就是运行方式不一样,功能和结构没有任何区别
不信你可以去看源代码,C++版本我只是用了system函数执行shell语句,效果不能说天差地别吧,至少也能说是一模一样
*** ***
## 使用方法 ## 使用方法
确保已经安装wget或者有其他方法可以传输文件 确保已经安装wget或者有其他方法可以传输文件
```shell ```shell
apt update && apt install -y wget apt update && apt install -y wget
``` ```
*** ***
面两个版本选一个就行 载程序
***
下载程序(Shell)
```shell
wget https://raw.githubusercontent.com/TheWhiteDog9487/ubuntu-language-onekey-zh_cn/main/language.sh
```
下载程序(C++)
```shell ```shell
wget https://raw.githubusercontent.com/TheWhiteDog9487/ubuntu-language-onekey-zh_cn/main/language wget https://raw.githubusercontent.com/TheWhiteDog9487/ubuntu-language-onekey-zh_cn/main/language
``` ```
运行程序(Shell) 运行程序
```shell
sudo bash language.sh
```
运行程序(C++)
```shell ```shell
sudo chmod o+x language sudo chmod o+x language
sudo ./language sudo ./language
BIN
View File
Binary file not shown.
+22
View File
@@ -1,9 +1,31 @@
#include <cstdlib> #include <cstdlib>
#include <iostream>
#include <string>
using namespace std; using namespace std;
auto check() {
cout << "请输入您的选项(输入y或者yes继续)";
string userin;
cin >> userin;
if (userin == "y" or userin == "yes")
return;
else
cout << "输入不正确欸,如果想停止本程序的话请按下Ctrl+C" << endl;
check();}
int main(){ int main(){
cout << "提示:本程序需要root权限,如果您不是以root运行的本程序,请Ctrl+C终止并重新提权运行" << endl;
cout << "如果确认权限没有问题,请输入y或者yes";
check();
cout << "即将开始安装并配置简体中文语言包,请输入y或者yes继续,或者按Ctrl+C终止本程序";
check();
system("apt install -y language-pack-zh-hans"); system("apt install -y language-pack-zh-hans");
system("locale-gen zh_CN.UTF-8"); system("locale-gen zh_CN.UTF-8");
system("mv /etc/default/locale /etc/default/locale.backup"); system("mv /etc/default/locale /etc/default/locale.backup");
system("touch /etc/default/locale"); system("touch /etc/default/locale");
system("echo LANG=\"zh_CN.UTF-8\" > /etc/default/locale"); system("echo LANG=\"zh_CN.UTF-8\" > /etc/default/locale");
cout << "原/etc/default/locale已经备份为/etc/default/locale.backup" << endl;
cout << "即将重启以应用语言设置,请保存您未完成的工作以防数据丢失" << endl;
cout << "输入y或者yes重启或者按Ctrl+C终止本程序" << endl;
check();
system("reboot");} system("reboot");}
-7
View File
@@ -1,7 +0,0 @@
apt update
apt install -y language-pack-zh-hans
locale-gen zh_CN.UTF-8
mv /etc/default/locale /etc/default/locale.backup
touch /etc/default/locale
echo LANG="zh_CN.UTF-8" > /etc/default/locale
reboot