亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Bash 腳本 - Python 找不到路徑

Bash 腳本 - Python 找不到路徑

郎朗坤 2023-09-05 17:24:25
請我需要幫助!這是我的第一個 bash 腳本,它在某些時候調用 python 腳本。但我總是在第 28 行和第 40 行得到這個輸出:./startTests.sh: line 28: 'logs/tp1/load-test1-workloada.txt': No such file or directory目錄logs/tp1確實存在!我認為這是我必須在那里使用的 char '>' 的東西,但我不知道如何修復它。這是我的腳本:#! /bin/bashecho -e "\033[01;34m------------------------------"echo -e "|      Testes YCSB 0.17      |"echo -e "------------------------------\033[01;37m"echo -e 'Está rodando o script da raiz do YCSB? (y/n)'read yesnoif [ $yesno = 'y' ]; then    echo -e 'Número de throughputs:'    read numOfThroughputs    echo -e 'Número de testes:'    read numOfTests    echo -e 'Iniciando...'    for ((throughput = 1; throughput <= $numOfThroughputs; throughput++)); do        echo -e '\033[01;32m------------------------------'        echo -e "Throughput  $throughput "        echo -e '------------------------------\033[01;37m'        for ((test = 1; test <= $numOfTests; test++)); do            echo -e '\033[01;32m------------------------------'            echo -e "Iciando teste $test"            echo -e '------------------------------\033[01;37m'            echo -e 'Loading Workload A'            python  ./bin/ycsb load mongodb-async -P workloads/workloada -p mongodb.url=mongodb://172.18.0.3:27017/ycsb?w=1 -P config/load.dat -s > "'logs/tp${throughput}/load-test${test}-workloada.txt'"            for workload in {a,b,c,,f,d,e}; do                if [ $workload = 'e' ]; then                    echo -e "\033[01;33mPrepara??o para workload $workload"                    echo -e "Apague o banco e precione QUALQUER TECLA 2X"                    read enter                    echo -e "Precione QUALQUER TECLA\033[01;37m"                    read enter2                    python  ./bin/ycsb load mongodb-async -P workloads/workloade -p mongodb.url=mongodb://172.18.0.3:27017/ycsb?w=1 -P config/load.dat -s > "'logs/tp${throughput}/load-test${test}-workloade.txt'"
查看完整描述

2 回答

?
狐的傳說

TA貢獻1804條經驗 獲得超3個贊

去掉雙引號內的單引號。

> "'logs/tp${throughput}/load-test${test}-workloada.txt'"

在路徑名中放入單引號,因為單引號在雙引號內沒有特殊含義。那應該是

> "logs/tp${throughput}/load-test${test}-workloada.txt"

您還可以在稍后的行中看到此內容:

> ""'logs/tp${throughput}/run-test${test}-workload${workload}.txt'"

"在開頭有一個額外的內容,這使得報價不平衡。它應該是:

> "logs/tp${throughput}/run-test${test}-workload${workload}.txt"


查看完整回答
反對 回復 2023-09-05
?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

ogs/tp1 可能存在,但這與“logs/tp1/”不同。您應該刪除單引號。



查看完整回答
反對 回復 2023-09-05
  • 2 回答
  • 0 關注
  • 273 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號