最初のアイデアURLテキスト変換QRコードスクリプトsh

これは、それを使用した人のためにすべてを検討する最初のアイデアでした。後で、自分自身に迷惑をかける必要はないのに、それ
だけです。余分です。わかりません。ターミナルもエラーを報告します。機能フラグメントのテストはそれほど面倒ではありません。
最初にバグをデバッグしてから、機能スクリプトを実行します。

#!/bin/bash
rm -rf /tmp/wc-qrencode
#这个外国人很幽默 比什么不好
wc -L /bin/qrencode >> /tmp/wc-qrencode
wc_qrencode="/tmp/wc-qrencode"
a="wc_qrencode"
b="989"
#这个989应该在不同的LINUX 系统也有关系  二进制文件夹应该是只有一行
#比最长的一行字符数 不管这一行是什么 是文件就有最长的一行 
#$b已经知道 我就是那个偷窥狂魔 $a是你每次获得的 如果$a 不等于 $b 就安装
if [ $a = $b ]
then
    sudo apt-get install qrencode -y
fi
#------------------------------------------------
cat /bin/qrencode | while read LINE; do
echo $LINE
done
#可以读一下这个文件 里面有一些不是乱码的 可以读一下来匹配

スクリプトをコピーするためのスクリプトは、インストールスクリプトinstall.shと見なすことができます。これは、dpkgを使用してdebにパッケージ化できます。実際に機能するシェルプログラムは、qrencodeが
コマンドを直接使用する方が簡単であるということですが、覚えておくことは容易ではありません
//123.com」二重引用符を使用することはできません:。qrencode -o /path/filename.png-の18'http
2日間プレイしてハハ...〜1つのコマンドを
ファイルヘッダを宣言#!/ bin / bash、サフィックスを削除するだけ

#!/bin/bash
#2020.05.19.17.24 修改
#为密码输入创建窗口
text_entry="安装&更新软件源 需要您的授权 请输入当前用户密码"
text_key=""
key=$(zenity --entry --width=500 --title="$text_entry"  --text="$text_key")
echo $key | sudo -S `date +%Y年%m月%d日%H:%M:%S`
#更新系统软件源
sudo apt update -y && sudo apt upgrade -y
##################################################################
# -d文件夹 -f文件 -s是否空文件
if [ ! -d "~/.config/autostart" ] 
then
    mkdir -p ${
    
    HOME}/.config/autostart
fi
##################################################################
rm -rf /${
    
    HOME}/.config/autostart/XQrencode-service.desktop
cp -r `pwd`/XQrencode-service.desktop /${
    
    HOME}/.config/autostart
chmod -R 755 ${
    
    HOME}/.config/autostart/*.desktop
rm -rf ~/桌面/gui-Xqrencode.desktop
cp -r `pwd`/gui-Xqrencode.desktop ~/桌面/gui-Xqrencode.desktop
chmod -R 755 ~/桌面/gui-Xqrencode.desktop
##################################################################
chmod -R 755 `pwd`/XQrencode-service
chmod -R 755 `pwd`/Xqrencode
chmod -R 755 `pwd`/gui-Xqrencode
#------------------------------------------------------------------
sudo rm -rf /bin/XQrencode-service
sudo rm -rf /bin/Xqrencode
sudo rm -rf /bin/gui-Xqrencode
#------------------------------------------------------------------
sudo cp -r `pwd`/XQrencode-service /bin
sudo cp -r `pwd`/Xqrencode /bin
sudo cp -r `pwd`/gui-Xqrencode /bin
##################################################################
text_title="安装结束 在桌面有 文字转二维码 启动文件"
up=$(zenity --info --width=500 --title="$text_title")
exit 0

このスクリプトXQrencode-serviceを呼び出して、Xqrencodeが常に実行されていることを確認します。そのため、XQrencode-serviceスクリプトを開始して実行する必要があります。

#!/bin/bash
#2020.05.19.17.24 修改
while [ true ]; do
#间隔5秒运行一次
/bin/sleep 1
#在/bin的程序或脚本允许 不带路径 写路径也可以
Xqrencode
done
#如果Xqrencode启动了当前脚本我想是休眠状态或等待状态
#什么子进程的问题 很头痛 所以不用管了 这样的脚本也没有可读性
#脚本最重要的我想还是可读性 编程就越乱越好能执行就行 让下个接手的人头痛

処理スクリプトXqrencode

#!/bin/bash
#2020.05.19.17.24 修改
#获取当前脚本的pid
#胖断是否为空文件 PID-Xqrencode 在GUI脚本作为是否需要重新启动Xqrencode 也可以说XQrencode-service挂掉了
#这条随便传递一个字符就可以
#如果 PID-Xqrencode 是文件夹就删除  虽软涉及到权限问题不过没那么无聊的人 这里只是防止不必要的错误
#这个是缓存目录,所以不用设置权限 就算无权限 也会被系统删除
#管它是文件还是文件夹认名字 在linux 文件夹也应该是文件? 据说linux都是文件 这个问题就不纠结这是系统的问题
rm -rf /tmp/PID-Xqrencode
echo "" >> /tmp/PID-Xqrencode
#网址或文字转二维码
#gui脚本记录密码文件保存到OPT目录,这样就可以给脚本简单加密,更复杂的加密解密就需要专门的程序去执行
######需要密码的地差插入此断##############################
#不需要了
#cat /opt/123 | while read LINE; do
#echo $LINE | sudo -S `date +%Y年%m月%d日%H:%M:%S`
#done
######END 需要密码的地差插入此断 #########################

#读取外部TXT文件 1p表示第一行 截取<>则的数据<>  >之间<
############list.txt 内容########
##         <1>网址<>           ##
##         <2>文字<>           ##
##         <3>文字<>           ##
################################
txt="/tmp/text123/*.txt"  #这里就用通配符号  这个路径是由于GUI脚本决定的
pxx1=`sed -n '1p' $txt | cut -d '>' -f2 | cut -d '<' -f1`
pxx2=`sed -n '2p' $txt | cut -d '>' -f2 | cut -d '<' -f1`
pxx3=`sed -n '3p' $txt | cut -d '>' -f2 | cut -d '<' -f1`
#web="http://www.baidu.com"
# 18 表示 生成的二维尺寸 18x18 大小 可以自己改
sleep 1
qrencode -o ~/桌面/test-`date +%M:%S`.png -s 18 ${
    
    pxx1}
exit 0
#------------------------------------------------------
sleep 1
qrencode -o ~/桌面/test-`date +%M:%S`.png -s 18 ${
    
    pxx2}
exit 0
#------------------------------------------------------
sleep 1
qrencode -o ~/桌面/test-`date +%M:%S`.png -s 18 ${
    
    pxx3}
exit 0
#这样是比较好的被动创建不同文件名
#要想更好的办法 就是表单 这是一件头疼的事情
#预制3个一般就够了 只有1个 其他空直就会一直等待 加上 exit 0 没有直就结束
#这也是一种动态加载,修改list.txt 加上保存就可以
#这个可以做成循环检测,开机运行 当list.txt有数据时就会执行,把这个脚本用另外一个循环运行这个脚本
#这样我们只要管list.txt这个文件就可以,虽然还是预制3个,更简单的使用
#这是配置文件的思路
#这样就可以配置GUI脚本了,这样更简单,这个不错,又可以控制脚本了,就是有点别扭,所以还是不要管tpcl.sh
#list.txt由 gui脚本创建

GUIスクリプトgui-Xqrencodeは、単純な問題で複雑な問題を解決し、解決策がない場合はあきらめます

#!/bin/bash
#2020.05.19.17.24 修改
LANG="zh_CN.UTF-8"
#为密码输入创建窗口
#请参看“zenity --help”获得更多细节
text_entry="创建二维码需要密码 点确定 表示同意使用此脚本"
text_key=""
key=$(zenity --entry --width=500 --title="$text_entry"  --text="$text_key")
echo $key | sudo -S `date +%Y年%m月%d日%H:%M:%S`
#####启动或安装qrencode############################################
#理论上是起作用的 应为测试的时候(安装过了)没有输入密码脚本就运行结束了
#这个应为你不知道安装在哪 一帮程序文件会软链接到 /bin  还有一种是进程判断,这个不靠谱,主要是不会写。
#还有就是MD5直来确保必须一定qrencode是原装程序 计算MD5需要时间 这个安全级别没必要那么高
#在规范的DEB安装包有可执行程序的MD5直接读取
#有个相对容易实现的问题就是计算文件的字节 是字节 这个很精确  比对字节大小
#这个外国人很幽默 比什么不好
wc -L /bin/qrencode >> /tmp/wc-qrencode
wc_qrencode="/tmp/wc-qrencode"
a="wc_qrencode"
b="989"
#比最长的一行字符数 不管这一行是什么 是文件就有最长的一行 
#$a是已经确认的 $b是你每次获得的 如果$a 不等于 $b 就安装
if [ $a = $b ]
then
    sudo apt-get install qrencode -y
fi
#####END-启动或安装qrencode#########################################
#这里就可以判断进程pid是否存在来执行  判读是否为空文件
####防止 XQrencode-service 挂掉 ################################
#GUI脚本是手动启动第一次肯定没有PID-Xqrencode 没有就是假的 假的就执行安装
#注销或重启以后就有了,Xqrencode 由 XQrencode-service 开机启动 某种意义上的被动监听
#把这个一段作为服务就是主动监听,没必要了又不是什么大型应用
if [ ! -f "/tmp/PID-Xqrencode" ]
then
    sh /bin/Xqrencode
fi
#完美 基本上没什么问题了
####END-防止 XQrencode-service 挂掉 ############################
title1="该脚本会安装qrencode不能保证您隐私其安全性"
text1="请输配置文件名称 默认路径 /tmp/text123"
###############################################################
#----NAME
get_name(){
    
    
    zenity --entry --width=500 --title="$title1" --text="$text1"
}
name=$(get_name) || exit
while [ "$(expr match "$name" '.')" -lt "1" ]; do
    zenity --entry --width=500 --title="$title1"
    name=$(get_name) || exit
done
#----text
text_entry_1="[1]这是第一个,输入的文字或网址,没有就留空 点确定"
text_entry_2="[2]这是第一个,输入的文字或网址,没有就留空 点确定"
text_entry_3="[3]这是第一个,输入的文字或网址,没有就留空 点确定"
text_text_1=""
text_text_2=""
text_text_3=""
text_1=$(zenity --entry --width=500 --title="$text_entry_1"  --text="$text_text_1")
text_2=$(zenity --entry --width=500 --title="$text_entry_2"  --text="$text_text_2")
text_3=$(zenity --entry --width=500 --title="$text_entry_3"  --text="$text_text_3")
mkdir -p /tmp/text123
cat > /tmp/text123/${
    
    name}.txt<<EOT
<1>${
    
    text_1}<>
<2>${
    
    text_2}<>
<3>${
    
    text_3}<>
EOT
text_title_123="二维码已生成 在桌面"
up_123=$(zenity --info --width=500 --title="$text_title_123")
#这个就不用删除 这个文件不会大起来 而且必须存在
#rm -rf /tmp/PID-Xqrencode
rm -rf /tmp/text123
exit 0

これは使いすぎの考え方で、本当に余計だと思います

おすすめ

転載: blog.csdn.net/lcs910102814/article/details/106298449