gpt4 book ai didi

linux - 找不到 bash 脚本命令

转载 作者:太空宇宙 更新时间:2023-11-04 09:37:09 24 4
gpt4 key购买 nike

我正在尝试运行此处编写的 bash 脚本:Link

我把上面的脚本改成这样:


#!/bin/bash

keyFile=video.key
openssl rand 16 > $keyFile
encryptionKey=cat $keyFile | hexdump -e '16/1 "%02x"'

splitFilePrefix=stream
encryptedSplitFilePrefix=enc/${splitFilePrefix}

numberOfTsFiles=ls ${splitFilePrefix}*.ts | wc -l

for (( i=1; i<$numberOfTsFiles; i++ ))
do
initializationVector=printf '%032x' $i
openssl aes-128-cbc -e -in ${splitFilePrefix}$i.ts -out ${encryptedSplitFilePrefix}$i.ts -nosalt -iv $initializationVector -K $encryptionKey

像这样运行脚本:./script.sh

但是 bash 一直这样大喊:

./script.sh: line 5: video.key: command not found

./script.sh: line 10: stream0.ts: command not found
0

./script.sh: line 17: syntax error: unexpected end of file

我不知道为什么..

我搜索了错误并检查了~/.rnd owner, .sh file chmod +x, $PATH 问题,但是所有他们中的一些人没有工作。

最佳答案

这一行:

encryptionKey=cat $keyFile | hexdump -e '16/1 "%02x"'

正在尝试执行 cat,但您没有使用 command substitution .应该是:

encryptionKey=$(cat "$keyFile" | hexdump -e '16/1 "%02x"')

同样,你需要:

numberOfTsFiles=$(ls ${splitFilePrefix}*.ts | wc -l)

并且需要在循环之后完成:

for (( i=1; i<$numberOfTsFiles; i++ ))
do
# ...
done

关于linux - 找不到 bash 脚本命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25398999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com