mirror of
https://gitee.com/amber-ce/amber-pm
synced 2026-05-14 10:10:20 +08:00
修复:无法启动带有空格的应用
This commit is contained in:
@@ -111,7 +111,7 @@ apm_exec(){
|
|||||||
fuse-overlayfs -o lowerdir="$lowerdir",upperdir="${PATH_PREFIX}/var/lib/apm/${coredir}/files/core/",workdir="${PATH_PREFIX}/var/lib/apm/${coredir}/files/work/" "/tmp/apm/${coredir}"
|
fuse-overlayfs -o lowerdir="$lowerdir",upperdir="${PATH_PREFIX}/var/lib/apm/${coredir}/files/core/",workdir="${PATH_PREFIX}/var/lib/apm/${coredir}/files/work/" "/tmp/apm/${coredir}"
|
||||||
|
|
||||||
# 执行命令
|
# 执行命令
|
||||||
chrootEnvPath="/tmp/apm/${coredir}" ${APM_RUN_EXEC} "$@"
|
chrootEnvPath="/tmp/apm/${coredir}" "${APM_RUN_EXEC}" "$@"
|
||||||
|
|
||||||
# 卸载
|
# 卸载
|
||||||
umount "/tmp/apm/${coredir}"
|
umount "/tmp/apm/${coredir}"
|
||||||
|
|||||||
@@ -45,18 +45,19 @@ if [ "${APM_USE_SANDBOX:-0}" = "1" ]; then
|
|||||||
ensure_dir $HOME/.apm/${APM_PKG_NAME}/$(basename $(xdg-user-dir MUSIC))
|
ensure_dir $HOME/.apm/${APM_PKG_NAME}/$(basename $(xdg-user-dir MUSIC))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#### This part is for args pharm
|
if [ $# -eq 0 ]; then
|
||||||
if [ "$1" = "" ];then
|
|
||||||
container_command="bash"
|
container_command="bash"
|
||||||
else
|
else
|
||||||
container_command="$1"
|
# 正确转义所有参数,处理空格和特殊字符
|
||||||
shift
|
container_command=""
|
||||||
for arg in "$@"; do
|
for arg in "$@"; do
|
||||||
arg="$(echo "${arg}x" | sed 's|'\''|'\'\\\\\'\''|g')"
|
# 使用 printf %q 进行安全的 shell 转义
|
||||||
arg="${arg%x}"
|
escaped_arg="$(printf "%q" "$arg")"
|
||||||
container_command="${container_command} '${arg}'"
|
container_command="${container_command} ${escaped_arg}"
|
||||||
done
|
done
|
||||||
|
container_command="${container_command# }" # 移除开头的空格
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#########################################################################################
|
#########################################################################################
|
||||||
##########合成bwrap 1. 基础函数配置段
|
##########合成bwrap 1. 基础函数配置段
|
||||||
# 初始化 EXEC_COMMAND 为 bwrap 基础指令
|
# 初始化 EXEC_COMMAND 为 bwrap 基础指令
|
||||||
@@ -198,4 +199,4 @@ add_command "bash -c \"${container_command}\""
|
|||||||
# echo "${EXEC_COMMAND}"
|
# echo "${EXEC_COMMAND}"
|
||||||
|
|
||||||
# 注意: 实际执行时,请确保所有变量(如 $uid, $chrootEnvPath 等)都已正确定义
|
# 注意: 实际执行时,请确保所有变量(如 $uid, $chrootEnvPath 等)都已正确定义
|
||||||
eval ${EXEC_COMMAND}
|
eval "${EXEC_COMMAND}"
|
||||||
Reference in New Issue
Block a user