我的 bash 脚本的 if / then 检查结果始终为 true
我试图编写一个 bash 脚本来处理条件切换,但每次它都会求值为 true。因此,我将其精简为这样,我得到了相同的行为,它总是回显我发送的任何参数,而不是仅在发送时回显-c: myfunc(){ if [[ $1 == "-c" ]]; then echo $1 fi } ...
我试图编写一个 bash 脚本来处理条件切换,但每次它都会求值为 true。因此,我将其精简为这样,我得到了相同的行为,它总是回显我发送的任何参数,而不是仅在发送时回显-c: myfunc(){ if [[ $1 == "-c" ]]; then echo $1 fi } ...
#!/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-...
这是在 Debian 系统上。 我已经将文件和内容压缩到单独的文件夹中,效果很好,但文件名中添加日期后就不行了。删除日期部分后,效果就正常了。 我很确定这与语法有关,因为我根据遇到的几个例子得出了这个结论…… 相关代码如下: for i in */; do tar -zcvf "$i $(date '+%y-%m-%d').tar.gz" "$i"; done ...
我想要一个 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 问题是什么? ...
我之前看过类似的问题,但并没有准确回答我的问题。 我正在使用 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": [], "...
我正在研究一个正则表达式,它将检查所提供的处理文件是否具有以下格式之一: 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 ...
从一个文件中删除与另一个文件中的行匹配的行的最简单方法是什么?例如,如果我有以下文件: 文件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...
我正在尝试创建一个 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 中运行,该选项卡就会被重命名。 ...
我有一个 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...
我曾收到别人写的一份脚本,并被要求根据他们的需求进行修改。其中有一行需要修改: if [ "$user" == "nobody" ] 这需要扩展以包括以字母 p、u 和 z 开头的其他用户。字母后面的所有用户帐户都是一串随机数,即p33783201。我已经在 Google 上搜索了几个小时,但我的理解不足开始让我感到困惑。 谢谢! ...
根据提示文件分离音频 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 中加载提示文件并播放不同的章...
大家好,我正在尝试使用命令::yes|sh script.sh;这个脚本会问一个问题,我需要一个 Y 作为答案,但它从来不起作用,请帮忙 ...
我正在运行以下命令来为整个脚本文件夹添加别名: 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 ...
我有一个自解压的 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...