繁体   English   中英

Shell脚本未在ubuntu中运行

[英]Shell script is not running in ubuntu

我在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编码器未运行并显示警告:

[warning]: extra unused command arguments given <

我的shell脚本中是否有任何特殊字符?

你知道如何解决这个问题吗?

输出重定向使用>&而不是<& 那会是

2>&11>&2

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

有关Stack Overflow的相关问题: 如何使用Bash将stdout和stderr重定向并附加到文件中?


编辑:

显然,您还以其他顺序收到了错误消息:

[警告]:给定额外的未使用命令参数

这更令人惊讶。

根据我们在注释中的小讨论, 这是由于行尾处理不正确造成的 可能整个脚本只被看成是一行,这可以解释bash看到多个重定向很惊讶。

有关信息,以防万一注释被删除:使用Notepad ++菜单中的Edit > EOL Conversion解决了该问题。 更多信息在这里: 记事本++中的EOL转换

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM