bash-scripting

我的 bash 脚本的 if / then 检查结果始终为 true
bash-scripting

我的 bash 脚本的 if / then 检查结果始终为 true

我试图编写一个 bash 脚本来处理条件切换,但每次它都会求值为 true。因此,我将其精简为这样,我得到了相同的行为,它总是回显我发送的任何参数,而不是仅在发送时回显-c: myfunc(){ if [[ $1 == "-c" ]]; then echo $1 fi } ...

Admin

谁能比现在更好地简化这个脚本?主要针对那些 tmp
bash-scripting

谁能比现在更好地简化这个脚本?主要针对那些 tmp

#!/bin/sh -e # # Usage: # ytpl song title # ytpl < titles # go() { echo "Playing $1" # Force TTY input for controls even if titles are read from input echo https://youtu.be/ > tmp1.txt youtube-dl --get-id "ytsearch:$1" > tmp2.txt youtube-dl --get-...

Admin

Tar 根据文件夹名称将目录和内容压缩为单独的、有日期的文件 bash 脚本
bash-scripting

Tar 根据文件夹名称将目录和内容压缩为单独的、有日期的文件 bash 脚本

这是在 Debian 系统上。 我已经将文件和内容压缩到单独的文件夹中,效果很好,但文件名中添加日期后就不行了。删除日期部分后,效果就正常了。 我很确定这与语法有关,因为我根据遇到的几个例子得出了这个结论…… 相关代码如下: for i in */; do tar -zcvf "$i $(date '+%y-%m-%d').tar.gz" "$i"; done ...

Admin

Bash:如果 [ tar = error ]
bash-scripting

Bash:如果 [ tar = error ]

我想要一个 shell 脚本来根据tar成功还是失败写一条消息,但是这个脚本不能正常工作: TAR=$(tar -cf Archiv.tar myfolder/ myotherfolder/) if [ ! "$TAR" = "/dev/null" ]; then echo "success" else echo "error - no such Directory or file" fi 问题是什么? ...

Admin

使用 JSON 清除 Bash 引用
bash-scripting

使用 JSON 清除 Bash 引用

我之前看过类似的问题,但并没有准确回答我的问题。 我正在使用 cURL 发送 JSON 请求,如下所示: curl -X POST -H "Content-Type:application/json" "$HOST" -d '{"uri": "'"$URI"'", "identityKeyValue":"'"`date +%s`"'", "identityKeyType": "bar", "status": "'$STATUS'", "statusDetail": "'"$STATUS_DETAIL"'", "exclusionKeys": [], "...

Admin

优化检查文件名的正则表达式
bash-scripting

优化检查文件名的正则表达式

我正在研究一个正则表达式,它将检查所提供的处理文件是否具有以下格式之一: SN1234_文件名.pdf SN1234_文件名.pdf.zip 这就是我现在所拥有的: MYFILE="SN39586_invoice.pdf" ISZIP=0 if [ $ISZIP -eq 0 ]; then FORMAT='^SN[0-9]+\_[a-zA-Z0-9]+\\.pdf$' else FORMAT='^SN[0-9]+\_[a-zA-Z0-9]+\\.pdf\\.zip$' fi ...

Admin

从一个文件中删除与另一个文件中的行匹配的行的最简单方法是什么?
bash-scripting

从一个文件中删除与另一个文件中的行匹配的行的最简单方法是什么?

从一个文件中删除与另一个文件中的行匹配的行的最简单方法是什么?例如,如果我有以下文件: 文件1.csv: [email protected] 文件2.csv: 1,[email protected],somehash1 2,[email protected],somehash2 3,[email protected],somehash3 因此,我希望文件3.csv: 1,[email protected],somehash1 3,[email protected],somehash3...

Admin

如何在 shell 脚本中使用 -ne 标志来表示 echo?
bash-scripting

如何在 shell 脚本中使用 -ne 标志来表示 echo?

我正在尝试创建一个 shell 脚本来接受一个参数并使用它来命名终端选项卡。因此,如果脚本的名称是 tabnm,则 tabnm“test”应该将当前选项卡重命名为“test” 这是我的代码: #!/bin/sh echo -ne "\e]1;$1\a" 但是当我运行它时我得到了这个输出: robin@icarus $ sh tabnm.sh test -ne \e]1;test 如果我直接echo -ne "\e]1;Test\a"在 shell 中运行,该选项卡就会被重命名。 ...

Admin

与直接从 shell 执行相比,bash 源命令在 WSL2 下悄然失败?
bash-scripting

与直接从 shell 执行相比,bash 源命令在 WSL2 下悄然失败?

我有一个 Bash 脚本,它评估 JSON 文件以设置环境变量并创建一个函数 该脚本在原生 Ubuntu(22.04LTS)下运行良好,但在 WSL2(Windows 11)下运行相同的脚本时,它无法创建环境变量,也无法使函数静默运行,没有任何错误消息。 但是,如果你将相关行复制粘贴到 WSL2 bash 提示符中,它就可以处理它们。 该脚本通过“.funcs.sh”调用,如下所示: #!/bin/bash . mode.sh # load config JSON as env vars (export) eval $(cat config.json | j...

Admin

匹配以单个字母开头的用户
bash-scripting

匹配以单个字母开头的用户

我曾收到别人写的一份脚本,并被要求根据他们的需求进行修改。其中有一行需要修改: if [ "$user" == "nobody" ] 这需要扩展以包括以字母 p、u 和 z 开头的其他用户。字母后面的所有用户帐户都是一串随机数,即p33783201。我已经在 Google 上搜索了几个小时,但我的理解不足开始让我感到困惑。 谢谢! ...

Admin

根据提示文件分离音频 m4b 文件
bash-scripting

根据提示文件分离音频 m4b 文件

根据提示文件分离音频 m4b 文件 我如何拆分声音的 m4b进入单独的文件 使用提示文件? 注意:m4b 文件没有章节,这就是为什么我需要使用提示文件来分割它。 我确实尝试过 AI,但没有效果。 ffmpeg -i test.m4b -f segment -segment_times test.cue -c copy output_%02d.m4a 我收到错误。 时间列表 test.cue 中时间持续时间规范“test.cue”无效 无法为输出文件 #0 写入标题(编解码器参数不正确?):参数无效 事实上,我可以在 vlc 中加载提示文件并播放不同的章...

Admin

当输出符合预期时,为什么 `bash` 不适用于管道输出?
bash-scripting

当输出符合预期时,为什么 `bash` 不适用于管道输出?

我正在运行以下命令来为整个脚本文件夹添加别名: ls | grep '\.sh$' | sed 's/\.sh$//' | awk '{print "alias "$1"=\"./"$0".sh\""}' | xargs -L1 bash 似乎有问题,bash或者可能xargs处理了这个问题。别名不起作用。 当使用运行命令时echo,我得到了预期的输出(或几乎,不确定为什么缺少双引号) ls | grep '\.sh$' | sed 's/\.sh$//' | awk '{print "alias "$1"=\"./"$0".sh\""}' | xargs ...

Admin

执行自解压 bash 脚本(附加二进制数据),无需先保存
bash-scripting

执行自解压 bash 脚本(附加二进制数据),无需先保存

我有一个自解压的 bash 脚本(二进制数据附加到末尾),如下所示: #!/bin/bash export TMPDIR=$(mktemp -d) ARCHIVE_START_LINE=$(...) # <omitted> # extracting data archive into a temporary directory tail -n+$ARCHIVE_START_LINE $0 | tar xzv -C $TMPDIR # <ACCESSING_ARCHIVED_RESOURCES> exit 0 # <B...

Admin