V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  james122333  ›  全部回复第 17 页 / 共 50 页
回复总数  987
1 ... 13  14  15  16  17  18  19  20  21  22 ... 50  
335 天前
回复了 leverestfish 创建的主题 Linux Linux 如何优雅的安装和使用 tar.gz 软件
@v2eb

tar.gz 与 deb rpm 没有本质差异 都是打包加压缩
你用 7zip 列出就知道
7z -l test.deb
7z -l test.rpm
deb 会显示本来就是 xz 压缩 里头有个 tar
rpm 会显示里头有个 cpio.zstd 档 cpio 打包 zstd 压缩
tar vs cpio 也是一种战争 通常只是差在有无包管理需要的说明与档案清单和安装事后脚版本
尤其维护某专案 webdav 我都快累死了
我一开始都是只用两个 method
resource 区分 后来知道 restful 也很少用 restful
基本没不同 如果 webserver 没问题
webdav 我不喜欢这东西 新增 method 可以 但 xml 格式不能忍
@ytmsdy

这个大概是因为 1024 以下要 root 权限 webserver 如果有问题会悲据 可能会转发或不用了
339 天前
回复了 Comyn 创建的主题 Java 有没有动态切换 jdk 版本的工具
@random1221

然后不只 java 很多东西都可以这样搞 两个档是可以合并 但脚本会杂一点 我看过 jenv 複杂很多的东西 不够轻量
339 天前
回复了 Comyn 创建的主题 Java 有没有动态切换 jdk 版本的工具
@random1221

意思是不用使用複杂依赖多或非原生的方式就可以实现
以上写的脚本也不用写入.bash_profile
339 天前
回复了 Comyn 创建的主题 Java 有没有动态切换 jdk 版本的工具
以上可以捨弃肥大的工具
340 天前
回复了 Comyn 创建的主题 Java 有没有动态切换 jdk 版本的工具
倒数 25 行 2 改 l
340 天前
回复了 Comyn 创建的主题 Java 有没有动态切换 jdk 版本的工具
/usr/bin/jdkrun

#!/usr/bin/env bash

function err {
echo "$@" >&2
}

function help {
err "$0 -a(add) [JAVA_HOME]/-r(remove) [JAVA_HOME]/-l(list)/-d [JAVA_HOME] [bash arg...]"
}

function parse_config {
if [[ ! -f "$jdk_versions_file" || ! -r "$jdk_versions_file" ]] ; then
rm -Rf "$jdk_versions_file"
: > "$jdk_versions_file"
else
local l
while read -r l
do
jdks[${#jdks[@]}]="$l"
done < "$jdk_versions_file"
fi
}

function list_versions {
local i=-1
while let "++i < ${#jdks[@]}"
do
echo "${jdks[i]}"
done
}

function check_added_version {
local i=-1 v="$1"
v="${v## }"
v="${v%% }"
if [[ ! -z "$v" ]] ; then
while let "++i < ${#jdks[@]}"
do
[[ "${jdks[i]%\/}" == "${v%\/}" ]] && return 0
done
else
return 0
fi
return 1
}

function delete_version {
local i=-1
while let "++i < ${#jdks[@]}"
do
[[ "${jdks[i]%\/}" != "${1%\/}" ]] && echo "${jdks[i]%\/}"
done > "${jdk_versions_file}"
return 1
}

function main {
local jdk_versions_file="$HOME/.jdk_versions" jdks=()
parse_config
if [[ "$1" == -d ]] ; then
shift
case "$1" in
""|-*)
local i IFS=$'\n'
select i in ${jdks[@]}
do
exec jdksh -d "$i" "$@"
done
unset IFS
;;
*)
if check_added_version "$1" ; then
local d="$1"
shift
exec jdksh -d "$d" "$@"
else
err "$0: no such jdk version!"
return 1
fi
;;
esac
return 1
fi
case "$#" in
2)
case "$1" in
-a)
check_added_version "$2" || echo "${2%\/}" >> "${jdk_versions_file}"
;;
-r)
delete_version "$2"
;;
*)
help
;;
esac
;;
1)
case "$1" in
-a)
local l
read -p "Please input JAVA_HOME directory: " -r l
check_added_version "$l" || echo "${2%\/}" >> "${jdk_versions_file}"
;;
-r)
local i IFS=$'\n'
select i in ${jdks[@]}
do
delete_version "$i"
break
done
;;
-l)
list_versions
;;
*)
help
;;
esac
;;
*)
help
;;
esac
}

main "$@"
340 天前
回复了 Comyn 创建的主题 Java 有没有动态切换 jdk 版本的工具
local JAVA_HOME 前改成 local JAVA_HOME PATH 更好
340 天前
回复了 Comyn 创建的主题 Java 有没有动态切换 jdk 版本的工具
没有 bash 选项就是纯开终端
340 天前
回复了 Comyn 创建的主题 Java 有没有动态切换 jdk 版本的工具
很简单 随便写个很不重要的 wrapper 就搞定(不重要分享一下)
要选项挑选请自行写另外一隻程序
使用方式就是

/usr/bin/jdksh -d JAVA_HOME 位置 剩下的 bash 参数...(如-c "java -version")

#!/usr/bin/env bash

function err {
echo "$@" >&2
}

function help {
err "$0 -d JDK_HOME [bash arg...]"
}

function check_jdk_home {
local bins=(java javac)
if [[ -d "$1" && -x "$1" ]] ; then
local i
for i in ${bins[@]}
do
if [[ ! -f "$1/bin/$i" || ! -x "$1/bin/$i" ]] ; then
err "$0: $1/bin/$i program not found!"
return 1
fi
done
return 0
fi
return 1
}

function set_jdk_home {
if [[ -d "$1" && -x "$1" ]] ; then
cd "$1"
export JAVA_HOME="$PWD"
export PATH="$JAVA_HOME"/bin:$PATH
cd - > /dev/null
return 0
fi
return 1
}

function parse_args {
while let $#
do
case "$1" in
-d)
shift
case "$1" in
""|-*)
err "$0: directory not defined!"
[[ "$1" == -* ]] && continue
;;
esac
check_jdk_home "$1" && set_jdk_home "$1"
;;
*)
args[${#args[@]}]="$1"
;;
esac
shift
done
if [[ -z "$JAVA_HOME" ]] ; then
err "$0: JAVA_HOME not defined!"
exit 1
fi
}

function main {
trap help EXIT
local JAVA_HOME args=()
parse_args "$@"
exec bash "${args[@]}"
}

main "$@"
363 天前
回复了 StepfenShawn 创建的主题 程序员 回忆一下我开发的粤语编程语言
@Cyrix686

先进? 这是另一种易语言...
易语言之流都不是深得中华文化精髓
363 天前
回复了 StepfenShawn 创建的主题 程序员 回忆一下我开发的粤语编程语言
@Askiz

有这回事? 不是都在讲吗?
364 天前
回复了 StepfenShawn 创建的主题 程序员 回忆一下我开发的粤语编程语言
这也是我很爱 shell 的原因
364 天前
回复了 StepfenShawn 创建的主题 程序员 回忆一下我开发的粤语编程语言
几有意思 不过有种易语言的感觉
不是非常之好 中文就是要用命令式语句 弄一堆括号就西化了
shell 都可以这样做 函数可以中文 然后是命令接近自然语言式
2023-06-26 19:35:45 +08:00
回复了 mikewang 创建的主题 Windows 在 Windows 系统,如何防止软件窥屏?
这是在钓我吗? 真的是 以后都不讲什么了
2023-06-26 03:33:37 +08:00
回复了 LongLights 创建的主题 Android 现在大家用安卓还会 root 吗?会掉指纹支付和 windvine 等级吗
而且不 root 很多开源的东西都不能用 限制也多
2023-06-26 03:32:04 +08:00
回复了 LongLights 创建的主题 Android 现在大家用安卓还会 root 吗?会掉指纹支付和 windvine 等级吗
一开始会 root
后来觉得没必要 但这应该是幻觉
现在觉得这只是因为硬件提升了导致原来卡住问题不明显 有 root 移动 app 很方便
2023-06-26 03:26:09 +08:00
回复了 fox0001 创建的主题 Linux [聊聊]红帽限制对 RHEL 源代码的访问,被评价为破坏生态…
计算机世界越来越複杂了 开源不意谓着你主导自己的系统
1 ... 13  14  15  16  17  18  19  20  21  22 ... 50  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1487 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 23:57 · PVG 07:57 · LAX 16:57 · JFK 19:57
Developed with CodeLauncher
♥ Do have faith in what you're doing.