簡體   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