|
@@ -570,12 +570,56 @@ EOF
|
|
|
~/micro "$@"
|
|
|
}
|
|
|
function install_zellij() {
|
|
|
- # 用户目录是否存在 zellij 文件
|
|
|
- if [ ! -f ~/zellij ]; then
|
|
|
+ # 检查 /usr/local/bin 下是否存在 zellij
|
|
|
+ if [ ! -f /usr/local/bin/zellij ]; then
|
|
|
wget https://fs.n1.tianyunperfect.cn:10086/2025/zellij-x86_64-unknown-linux-musl.tar.gz
|
|
|
tar -zxvf zellij-x86_64-unknown-linux-musl.tar.gz
|
|
|
+ sudo mv zellij /usr/local/bin/
|
|
|
rm -rf zellij-x86_64-unknown-linux-musl.tar.gz
|
|
|
fi
|
|
|
+
|
|
|
+ # 判断使用的是 zsh 还是 bash
|
|
|
+ if [ -n "$ZSH_VERSION" ]; then
|
|
|
+ # ZSH
|
|
|
+ cat <<'EOF' >>~/.zshrc
|
|
|
+function zin() {
|
|
|
+ export ZELLIJ_AUTO_ATTACH=true
|
|
|
+ eval "$(zellij setup --generate-auto-start zsh)"
|
|
|
+}
|
|
|
+zin2() {
|
|
|
+ # 获取活跃的会话名称
|
|
|
+ local active_session=$(zellij list-sessions --no-formatting | grep -v "EXITED" |head -1 | awk '{print $1}')
|
|
|
+ if [ -n "$active_session" ]; then
|
|
|
+ # 使用获取到的会话名称并添加选项
|
|
|
+ zellij attach "$active_session" options --disable-mouse-mode
|
|
|
+ else
|
|
|
+ echo "No active Zellij session found."
|
|
|
+ fi
|
|
|
+}
|
|
|
+EOF
|
|
|
+ source ~/.zshrc
|
|
|
+ elif [ -n "$BASH_VERSION" ]; then
|
|
|
+ # BASH
|
|
|
+ cat <<'EOF' >>~/.bashrc
|
|
|
+function zin() {
|
|
|
+ export ZELLIJ_AUTO_ATTACH=true
|
|
|
+ eval "$(zellij setup --generate-auto-start bash)"
|
|
|
+}
|
|
|
+zin2() {
|
|
|
+ # 获取活跃的会话名称
|
|
|
+ local active_session=$(zellij list-sessions --no-formatting | grep -v "EXITED" |head -1 | awk '{print $1}')
|
|
|
+ if [ -n "$active_session" ]; then
|
|
|
+ # 使用获取到的会话名称并添加选项
|
|
|
+ zellij attach "$active_session" options --disable-mouse-mode
|
|
|
+ else
|
|
|
+ echo "No active Zellij session found."
|
|
|
+ fi
|
|
|
+}
|
|
|
+EOF
|
|
|
+ source ~/.bashrc
|
|
|
+ else
|
|
|
+ echo "Unknown shell"
|
|
|
+ fi
|
|
|
}
|
|
|
|
|
|
# 磁盘读写速度测试
|
|
@@ -622,7 +666,6 @@ set_title() {
|
|
|
printf "\033]2;%s\007" "$1"
|
|
|
}
|
|
|
|
|
|
-
|
|
|
## ffmpeg 相关
|
|
|
# 提起音频,入参是文件名,默认转出同名的mp3,示例:ffmpeg -i input.mp4 -vn -acodec libmp3lame -q:a 0 output.mp3
|
|
|
function ffmpeg_extract_audio() {
|
|
@@ -646,65 +689,65 @@ function ffmpeg_extract_audio() {
|
|
|
}
|
|
|
# 合并视频和音频
|
|
|
ffmpeg_merge_video_audio() {
|
|
|
- # 检查参数数量是否正确
|
|
|
- if [ "$#" -ne 3 ]; then
|
|
|
- echo "用法: merge_video_audio <视频文件> <音频文件> <输出文件>"
|
|
|
- return 1
|
|
|
- fi
|
|
|
-
|
|
|
- # 获取参数
|
|
|
- video_path="$1"
|
|
|
- audio_path="$2"
|
|
|
- output_path="$3"
|
|
|
-
|
|
|
- # 检查输入文件是否存在
|
|
|
- if [ ! -f "$video_path" ]; then
|
|
|
- echo "错误: 视频文件 '$video_path' 不存在"
|
|
|
- return 1
|
|
|
- fi
|
|
|
-
|
|
|
- if [ ! -f "$audio_path" ]; then
|
|
|
- echo "错误: 音频文件 '$audio_path' 不存在"
|
|
|
- return 1
|
|
|
- fi
|
|
|
-
|
|
|
- # 执行 FFmpeg 命令
|
|
|
- ffmpeg -i "$video_path" -i "$audio_path" -c:v copy -c:a copy "$output_path"
|
|
|
-
|
|
|
- # 检查命令是否成功执行
|
|
|
- if [ $? -eq 0 ]; then
|
|
|
- echo "合并完成: 输出文件为 '$output_path'"
|
|
|
- else
|
|
|
- echo "错误: 合并失败"
|
|
|
- return 1
|
|
|
- fi
|
|
|
+ # 检查参数数量是否正确
|
|
|
+ if [ "$#" -ne 3 ]; then
|
|
|
+ echo "用法: merge_video_audio <视频文件> <音频文件> <输出文件>"
|
|
|
+ return 1
|
|
|
+ fi
|
|
|
+
|
|
|
+ # 获取参数
|
|
|
+ video_path="$1"
|
|
|
+ audio_path="$2"
|
|
|
+ output_path="$3"
|
|
|
+
|
|
|
+ # 检查输入文件是否存在
|
|
|
+ if [ ! -f "$video_path" ]; then
|
|
|
+ echo "错误: 视频文件 '$video_path' 不存在"
|
|
|
+ return 1
|
|
|
+ fi
|
|
|
+
|
|
|
+ if [ ! -f "$audio_path" ]; then
|
|
|
+ echo "错误: 音频文件 '$audio_path' 不存在"
|
|
|
+ return 1
|
|
|
+ fi
|
|
|
+
|
|
|
+ # 执行 FFmpeg 命令
|
|
|
+ ffmpeg -i "$video_path" -i "$audio_path" -c:v copy -c:a copy "$output_path"
|
|
|
+
|
|
|
+ # 检查命令是否成功执行
|
|
|
+ if [ $? -eq 0 ]; then
|
|
|
+ echo "合并完成: 输出文件为 '$output_path'"
|
|
|
+ else
|
|
|
+ echo "错误: 合并失败"
|
|
|
+ return 1
|
|
|
+ fi
|
|
|
}
|
|
|
|
|
|
ffmpeg_convert_to_mp3() {
|
|
|
- # 检查参数数量是否正确
|
|
|
- if [ "$#" -ne 2 ]; then
|
|
|
- echo "用法: convert_to_mp3 <输入音频文件> <输出MP3文件>"
|
|
|
- return 1
|
|
|
- fi
|
|
|
-
|
|
|
- # 获取参数
|
|
|
- input_file="$1"
|
|
|
- output_file="$2"
|
|
|
-
|
|
|
- # 检查输入文件是否存在
|
|
|
- if [ ! -f "$input_file" ]; then
|
|
|
- echo "错误: 输入文件 '$input_file' 不存在"
|
|
|
- return 1
|
|
|
- fi
|
|
|
-
|
|
|
- # 执行 FFmpeg 命令
|
|
|
- ffmpeg -i "$input_file" -vn -acodec libmp3lame -q:a 2 "$output_file"
|
|
|
-
|
|
|
- # 检查命令是否成功执行
|
|
|
- if [ $? -eq 0 ]; then
|
|
|
- echo "转换完成: 输出文件为 '$output_file'"
|
|
|
- else
|
|
|
- echo "错误: 转换失败"
|
|
|
- return 1
|
|
|
- fi
|
|
|
-}
|
|
|
+ # 检查参数数量是否正确
|
|
|
+ if [ "$#" -ne 2 ]; then
|
|
|
+ echo "用法: convert_to_mp3 <输入音频文件> <输出MP3文件>"
|
|
|
+ return 1
|
|
|
+ fi
|
|
|
+
|
|
|
+ # 获取参数
|
|
|
+ input_file="$1"
|
|
|
+ output_file="$2"
|
|
|
+
|
|
|
+ # 检查输入文件是否存在
|
|
|
+ if [ ! -f "$input_file" ]; then
|
|
|
+ echo "错误: 输入文件 '$input_file' 不存在"
|
|
|
+ return 1
|
|
|
+ fi
|
|
|
+
|
|
|
+ # 执行 FFmpeg 命令
|
|
|
+ ffmpeg -i "$input_file" -vn -acodec libmp3lame -q:a 2 "$output_file"
|
|
|
+
|
|
|
+ # 检查命令是否成功执行
|
|
|
+ if [ $? -eq 0 ]; then
|
|
|
+ echo "转换完成: 输出文件为 '$output_file'"
|
|
|
+ else
|
|
|
+ echo "错误: 转换失败"
|
|
|
+ return 1
|
|
|
+ fi
|
|
|
+}
|