mirror of
https://gitee.com/spark-store-project/spark-store
synced 2025-12-14 04:42:03 +08:00
修改: tool/open-in-terminal/open-in-terminal
修改: tool/ssinstall 新文件: tool/store-helper/ss-launcher
This commit is contained in:
@@ -6,20 +6,25 @@ if [ -z "$1" ]; then
|
|||||||
echo "${TRANSHELL_CONTENT_PLEASE_PROVIDE_FILE_PATH}"
|
echo "${TRANSHELL_CONTENT_PLEASE_PROVIDE_FILE_PATH}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
DESKTOP_FILE_PATH=$1
|
|
||||||
if [[ $DESKTOP_FILE_PATH == file://* ]]; then
|
|
||||||
# 如果是,移除 'file://' 部分并输出结果
|
|
||||||
DESKTOP_FILE_PATH="${DESKTOP_FILE_PATH#file://}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 获取文件内容中Exec=后的命令
|
DESKTOP_FILE_PATH=$1
|
||||||
exec_command=$(grep -oP "(?<=Exec=).*" "$DESKTOP_FILE_PATH")
|
|
||||||
|
|
||||||
# 打印提取的命令
|
if [[ $DESKTOP_FILE_PATH == file://* ]]; then
|
||||||
echo "$exec_command"
|
# 如果是,移除 'file://' 部分并输出结果
|
||||||
|
DESKTOP_FILE_PATH="${DESKTOP_FILE_PATH#file://}"
|
||||||
|
fi
|
||||||
|
|
||||||
# 在默认终端执行命令
|
# 获取文件内容中第一个 Exec= 后的命令
|
||||||
eval "$exec_command"
|
exec_command=$(grep -m 1 -oP "(?<=Exec=).*" "$DESKTOP_FILE_PATH")
|
||||||
|
|
||||||
|
# 删除 exec_command 中最后的 % 及其后面的内容
|
||||||
|
exec_command="${exec_command%\%*}"
|
||||||
|
|
||||||
|
# 打印提取的命令
|
||||||
|
echo "$exec_command"
|
||||||
|
|
||||||
|
# 在默认终端执行命令
|
||||||
|
eval "$exec_command"
|
||||||
|
|
||||||
echo --------------------------------------
|
echo --------------------------------------
|
||||||
echo "${TRANSHELL_CONTENT_ABOVE_IS_TERMINAL_OUTPUT}"
|
echo "${TRANSHELL_CONTENT_ABOVE_IS_TERMINAL_OUTPUT}"
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ function zenity() {
|
|||||||
function hash_check() {
|
function hash_check() {
|
||||||
if [ ! -e "/var/lib/aptss/lists/d.spark-app.store_${STORE_URL}_Packages" ] && \
|
if [ ! -e "/var/lib/aptss/lists/d.spark-app.store_${STORE_URL}_Packages" ] && \
|
||||||
[ ! -e "/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ] && \
|
[ ! -e "/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages" ] && \
|
||||||
[ ! -e "/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store-repository_${STORE_URL}_Packages" ]; then
|
[ ! -e "/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store_${STORE_URL}_Packages" ]; then
|
||||||
echo "接收星火仓库软件信息中..."
|
echo "接收星火仓库软件信息中..."
|
||||||
aptss ssupdate
|
aptss ssupdate
|
||||||
fi
|
fi
|
||||||
@@ -72,7 +72,7 @@ function hash_check() {
|
|||||||
PACKAGES_DATA_PATH="/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages"
|
PACKAGES_DATA_PATH="/var/lib/aptss/lists/d.store.deepinos.org.cn_${STORE_URL}_Packages"
|
||||||
echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是d域名单目录仓库配置"
|
echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是d域名单目录仓库配置"
|
||||||
else
|
else
|
||||||
PACKAGES_DATA_PATH="/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store_${STORE_URL}_Packages"
|
PACKAGES_DATA_PATH="/var/lib/aptss/lists/mirrors.sdu.edu.cn_spark-store-repository_${STORE_URL}_Packages"
|
||||||
echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是SDU镜像仓库配置"
|
echo "星火仓库的Packages位置为 $PACKAGES_DATA_PATH,是SDU镜像仓库配置"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
74
tool/store-helper/ss-launcher
Executable file
74
tool/store-helper/ss-launcher
Executable file
@@ -0,0 +1,74 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function scan_desktop_file(){
|
||||||
|
unset desktop_file_path
|
||||||
|
for desktop_file_path in $(dpkg -L "$1" |grep /usr/share/applications/ | awk '/\.desktop$/ {print}'); do
|
||||||
|
if [ "$(cat $desktop_file_path | grep NoDisplay=true)" = "" ];then
|
||||||
|
echo "$desktop_file_path is found"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
for desktop_file_path in $(dpkg -L "$1" |grep /opt/apps/$package_name/entries/applications | awk '/\.desktop$/ {print}'); do
|
||||||
|
if [ "$(cat $desktop_file_path | grep NoDisplay=true)" = "" ];then
|
||||||
|
echo $desktop_file_path is found
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function launch_app(){
|
||||||
|
|
||||||
|
# 检查是否传入了路径参数
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "请传入文件路径作为参数"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
DESKTOP_FILE_PATH=$1
|
||||||
|
|
||||||
|
if [[ $DESKTOP_FILE_PATH == file://* ]]; then
|
||||||
|
# 如果是,移除 'file://' 部分并输出结果
|
||||||
|
DESKTOP_FILE_PATH="${DESKTOP_FILE_PATH#file://}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 获取文件内容中第一个 Exec= 后的命令
|
||||||
|
exec_command=$(grep -m 1 -oP "(?<=Exec=).*" "$DESKTOP_FILE_PATH")
|
||||||
|
|
||||||
|
# 删除 exec_command 中最后的 % 及其后面的内容
|
||||||
|
exec_command="${exec_command%\%*}"
|
||||||
|
|
||||||
|
# 打印提取的命令
|
||||||
|
echo "$exec_command"
|
||||||
|
|
||||||
|
# 在默认终端执行命令
|
||||||
|
eval "$exec_command"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$#" -lt 2 ];then
|
||||||
|
echo "Usage: $0 check/launch packagename"
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$1" = "check" ];then
|
||||||
|
|
||||||
|
scan_desktop_file "$2"
|
||||||
|
if [ "$desktop_file_path" = "" ];then
|
||||||
|
echo "No desktop file found. exit -1"
|
||||||
|
exit -1
|
||||||
|
else
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
elif [ "$1" = "launch" ];then
|
||||||
|
scan_desktop_file "$2"
|
||||||
|
if [ "$desktop_file_path" = "" ];then
|
||||||
|
echo "No desktop file found. exit -1"
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
launch_app "${desktop_file_path}"
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user