[给喜欢写脚本自娱自乐热] --- 文字转二维码
Tofloor
poster avatar
i8520
deepin
2020-05-22 20:54
Author
本帖最后由 i8520 于 2020-5-22 13:12 编辑

[给喜欢写脚本自娱自乐热] ---  文字转二维码
QarencodeQRcode.zip
  1. 目录结构 123文件夹只能在/hone/$USER下 不能在 / 根目录 最直观的就是桌面了
  2. install.sh 是相对绝对路径  123谁便什么名字   `pwd` 是相对 install.sh 的当前路径 补全路径
Copy the Code
  1. 123 --- install.sh
  2.   |  --- data
  3.          | --- Xqrencode
  4.   |  --- desktop
  5.          | --- gui-Xqrencode.desktop
Copy the Code
install.sh  755权限
  1. #!/bin/bash
  2. echo "第一条sudo需要输入密码。"
  3. sudo -S `date +%Y年%m月%d日%H:%M:%S`
  4. #更新系统软件源
  5. echo "开始更新系统。"
  6. sudo apt update -y && sudo apt upgrade -y
  7. echo "系统更新结束,开始安装依赖,qrencode是真正起到作用的程序。"
  8. sudo apt-get install qrencode -y
  9. echo "qrencode安装结束,开始复制,运行脚本和启动文件。"
  10. ##################################################################
  11. # -d文件夹 -f文件 -s是否空文件
  12. if [ ! -d "~/.config/autostart" ]
  13. then
  14.     mkdir -p ${HOME}/.config/autostart
  15. fi
  16. ##################################################################
  17. rm -rf ~/桌面/gui-Xqrencode.desktop
  18. cp -r `pwd`/desktop/gui-Xqrencode.desktop ~/桌面
  19. chmod -R 755 ~/桌面/gui-Xqrencode.desktop
  20. ##################################################################

  21. chmod -R 755 `pwd`/data/Xqrencode

  22. #------------------------------------------------------------------

  23. sudo rm -rf /bin/Xqrencode

  24. #------------------------------------------------------------------

  25. sudo cp -r `pwd`/data/Xqrencode /bin

  26. ##################################################################
  27. echo "安装结束,启动文件在桌面,启动脚本Xqrencode在 /bin"
  28. exit 0
Copy the Code
gui-Xqrencode.desktop 755权限
  1. [Desktop Entry]
  2. Name=gui-Xqrencode
  3. Name[zh_CN]=文字转二维码
  4. Terminal=false
  5. Type=Application
  6. Categories=Graphics;
  7. StartupNotify=false
  8. Actions=Configure;Capture;
  9. Exec=Xqrencode
  10. Icon=utilities-terminal
Copy the Code
Xqrencode  755权限
  1. #!/bin/bash
  2. #2020.05.19.17.24 修改
  3. #卸载qrencode
  4. #sudo apt-get autoremove --purge qrencode -y
  5. #删除多余的包或依赖
  6. #sudo apt autoremove -y

  7. #----------------------------------------------------------------------------
  8. mkdir -p /tmp/text123
  9. text_tixing="[使用注意事项-特殊符号不能输入,在接下来的输入框中输入,文字或网址 ]"

  10. zenity --info --width=500  --text="$text_tixing" || exit

  11. #----------------------------------------------------------------------------
  12. rm -rf /tmp/text123/123.txt
  13. echo "" >> /tmp/text123/123.txt
  14. text_entry_1="[1]该行留空表示 不创建"
  15. text_entry_2="[2]该行留空表示 不创建"
  16. text_entry_3="[3]该行留空表示 不创建"
  17. text_text_1=""
  18. text_text_2=""
  19. text_text_3=""
  20. text_1=$(zenity --entry --width=500 --title="$text_entry_1"  --text="$text_text_1") || exit
  21. text_2=$(zenity --entry --width=500 --title="$text_entry_2"  --text="$text_text_2") || exit
  22. text_3=$(zenity --entry --width=500 --title="$text_entry_3"  --text="$text_text_3") || exit
  23. cat > /tmp/text123/123.txt<
  24. <1>${text_1}<>
  25. <2>${text_2}<>
  26. <3>${text_3}<>
  27. EOT
  28. #------------------------------------------------------
  29. tmp123="/tmp/text123/123.txt"
  30. pxx1=`sed -n '1p' $tmp123 | cut -d '>' -f2 | cut -d '<' -f1`
  31. pxx2=`sed -n '2p' $tmp123 | cut -d '>' -f2 | cut -d '<' -f1`
  32. pxx3=`sed -n '3p' $tmp123 | cut -d '>' -f2 | cut -d '<' -f1`
  33. #------------------------------------------------------
  34. #这个模块本来是传递文件夹的,能用就行了 转换了一下变量 a = $pxx1 我想不那样也可以 只是要在个结构里
  35. #本来几毫秒就可以创建的事情 加到了6秒以上
  36. for a in "$pxx1" ; do
  37. qrencode -o ~/桌面/test-`date +%M:%S`.png -s 18 ${a} ; sleep 2
  38. done | zenity --progress --pulsate --title "Processing " \
  39.               --text "正在生成维码" \
  40.               --pulsate --auto-close --auto-kill
  41. #------------------------------------------------------
  42. for b in "$pxx2" ; do
  43. qrencode -o ~/桌面/test-`date +%M:%S`.png -s 18 ${b} ; sleep 2
  44. done | zenity --progress --pulsate --title "Processing " \
  45.               --text "正在生成维码" \
  46.               --pulsate --auto-close --auto-kill
  47. #------------------------------------------------------
  48. for c in "$pxx3" ; do
  49. qrencode -o ~/桌面/test-`date +%M:%S`.png -s 18 ${c} ; sleep 2
  50. done | zenity --progress --pulsate --title "Processing " \
  51.               --text "正在生成维码" \
  52.               --pulsate --auto-close --auto-kill
  53. #------------------------------------------------------
  54. mkdir -p /tmp/text123
  55. exit 0
Copy the Code




Reply Favorite View the author
All Replies
avatar
xiamingyu
deepin
2020-05-22 22:10
#1
还有什么有趣儿的脚本吗
Reply View the author
avatar
i8520
deepin
2020-05-22 22:42
#2
本帖最后由 i8520 于 2020-5-22 14:47 编辑
https://bbs.deepin.org/post/194861
还有什么有趣儿的脚本吗

有个创建启动文件的脚本   这个看起来很乱
  1. #!/bin/bash
  2. LANG="zh_CN.UTF-8"
  3. #---窗口名称
  4. title1="创建启动文件--在主目录(个人)下的--启动器文件夹"
  5. text1="请输入启动文件名称"
  6. text2_2="选择文件"
  7. #参数不可用中文
  8. boxlist="Internet|Chat|Music|Video|Graphics|Office|Development|System|Others"
  9. KEYW_REQUEST_DLG_en="在主目录(个人)下的--启动器文件夹--链接到了桌面"
  10. KEYW_REQUEST_DLG2_en="======重要提醒======"
  11. ###############################################################
  12. #----NAME
  13. get_name(){
  14.     zenity --entry --width=450 --title="$title1" --text="$text1"
  15. }
  16. name=$(get_name) || exit
  17. while [ "$(expr match "$name" '.')" -lt "1" ]; do
  18.     zenity --entry --width=450 --title="$title1" --text="$text2_2"
  19.     name=$(get_name) || exit
  20. done
  21. #----EXEC
  22. title3="选择脚本或程序--格式-->| .sh | .AppImage |"
  23. exec=$(zenity --title="$title3" --file-selection)
  24. #----ICON选择文件
  25. title2="为启动器文件选择显示的图标--格式->| .png | .svg | .ioc |"
  26. icon=$(zenity --title="$title2" --file-selection)
  27. #----CATEG
  28. text2_3="创建的启动器归属类别"
  29. text2_4="请选择"
  30. categ=$(zenity --forms --width=450 --title="$title1" --text="$text2_3" --add-combo="$text2_4" --combo-values="$boxlist")
  31. #----KEYW
  32. keyw=$(zenity --entry --width=450 --title="$KEYW_REQUEST_TIL_en" --entry-text="$KEYW_REQUEST_DLG_en" --text="$KEYW_REQUEST_DLG2_en")
  33. #
  34. if [ ! -d "$HOME/启动器文件" ]
  35. then
  36.     mkdir ~/启动器文件
  37. fi
  38. cat > ~/启动器文件/${name}.desktop<
  39. [Desktop Entry]
  40. Version=1.0
  41. Terminal=false
  42. StartupNotify=false
  43. Type=Application
  44. Name=$name
  45. Exec=$exec
  46. Icon=$icon
  47. Categories=${categ};
  48. Keywords=${keyw};
  49. EOT
  50. chmod +x ~/启动器文件/${name}.desktop
  51. chmod +x $exec
  52. dedit ~/启动器文件/${name}.desktop
  53. if [ ! -d "~/桌面/启动器文件" ]
  54. then
  55.     ln -s ~/启动器文件 ~/桌面
  56. fi
Copy the Code


Reply View the author