Shell脚本在Ubuntu系统中无法运行

2024-04-19 09:38:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我在bash脚本encode.sh中有以下脚本。在

echo "1 configuration out of 936"
x265 incident_10d_384x288_25.yuv --input-res 384x288 --fps 25 str/incident_10d_384x288_25_QP_0_ON_B0.bin --tune psnr --psnr --preset medium --max-merge 5 --merange 64 --no-open-gop -I 48 -i 8 --tu-intra-depth 3 --tu-inter-depth 3 --input-depth 8 --aq-mode 0 --b-adapt 0 --scenecut 48 --ref 4 --sao --deblock=0:0 --bframes 0 --qp 0 --csv-log-level 2 --log-level 4 --csv csv/incident_10d_384x288_25_QP_0_ON_B0.csv > txt/1_incident_10d_384x288_25_QP_0_ON_B0.txt 2<&1 
echo "2 configuration out of 936"
x265 incident_10d_384x288_25.yuv --input-res 384x288 --fps 25 str/incident_10d_384x288_25_QP_1_ON_B0.bin --tune psnr --psnr --preset medium --max-merge 5 --merange 64 --no-open-gop -I 48 -i 8 --tu-intra-depth 3 --tu-inter-depth 3 --input-depth 8 --aq-mode 0 --b-adapt 0 --scenecut 48 --ref 4 --sao --deblock=0:0 --bframes 0 --qp 1 --csv-log-level 2 --log-level 4 --csv csv/incident_10d_384x288_25_QP_1_ON_B0.csv > txt/2_incident_10d_384x288_25_QP_1_ON_B0.txt 2<&1 
echo "3 configuration out of 936"
x265 incident_10d_384x288_25.yuv --input-res 384x288 --fps 25 str/incident_10d_384x288_25_QP_2_ON_B0.bin --tune psnr --psnr --preset medium --max-merge 5 --merange 64 --no-open-gop -I 48 -i 8 --tu-intra-depth 3 --tu-inter-depth 3 --input-depth 8 --aq-mode 0 --b-adapt 0 --scenecut 48 --ref 4 --sao --deblock=0:0 --bframes 0 --qp 2 --csv-log-level 2 --log-level 4 --csv csv/incident_10d_384x288_25_QP_2_ON_B0.csv > txt/3_incident_10d_384x288_25_QP_2_ON_B0.txt 2<&1 

我想用> txt/3_incident_10d_384x288_25_QP_2_ON_B0.txt 2<&1将每个编码的输出从终端写入一个txt文件。我使用python 2.7windows创建bash脚本,并希望在ubuntu中运行它。在

当我从bash脚本中复制一行并在终端中运行它时,它是有效的。但当我想从批处理文件运行它时,它就不工作了。在

我在终端中没有错误,但是x265编码器没有运行,并发出警告:

^{pr2}$

我的shell脚本中有什么特殊的字符吗?在

你知道怎么解决这个问题吗?在


Tags: csvtxt脚本bashloginputonb0
1条回答
网友
1楼 · 发布于 2024-04-19 09:38:51

输出重定向使用>&,而不是<&。那就好了

2>&1或{}

(可能是第一个,将标准错误(2)重定向到标准输出(1))

有关堆栈溢出的相关问题:How can I redirect and append both stdout and stderr to a file with Bash?


编辑:

很显然,您还收到了另一个顺序的错误消息:

[warning]: extra unused command arguments given >`

更令人惊讶的是。在

根据我们在评论中的小讨论,这是由于不正确的行尾处理造成的。可能整个脚本被看作是一行大行,这就解释了bash对看到几个重定向感到惊讶。在

有关信息,如果注释被删除:使用记事本++菜单Edit > EOL Conversion解决了这个问题。更多信息:EOL conversion in notepad ++

相关问题 更多 >