[英]Bash variable substitution in Prodigy
我想通過命令db-out導出Prodigy標記會話的結果。 Prodigy 安裝在Google Compute Engine VM 中,但我不是它的所有者,因此,我正在嘗試的內容如下所示:
# Assume `test1` exists
DB_NAME="test1"
# `super_user` is Prodigy owner's home directory.
sudo runuser -l super_user -c 'python3 -m prodigy db-out "$DB_NAME" > ./"$DB_NAME".jsonl'
前面的命令應該生成一個test1.jsonl
文件,該文件應該在super_user
主目錄中找到; 但是,不會生成test1.jsonl
。 順便說一句,運行這些行時,不會顯示警告或錯誤。
不過,當我直接運行以下命令時:
sudo runuser -l super_user -c 'python3 -m prodigy db-out test1 > ./test1.jsonl'
test1.jsonl
文件按照預期和前面的解釋正確生成。 為什么?
附加說明/更新:
在解決了我對這篇文章的關注(這是由Gordon Davidson提出的,強烈建議對其進行修訂),我設法解決了我原來的問題。 更正后的代碼如下所示:
DB_NAME="test1"
sudo runuser -l super_user -c "python3 -m prodigy db-out $DB_NAME > ./$DB_NAME.jsonl"
只是為了明確更改,它們是:
之后,腳本按預期工作。 如果我正確理解這篇文章,可能還有其他一些有效的答案; 但是這個現在有效。
謝謝你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.