Nohup ใช้กับ bash for loop ไม่ได้
Sep 19 2020
ฉันพยายามใช้ nohup กับ bash for loop และฉันเจอโพสต์นี้ที่นี่ซึ่งมีประโยชน์และให้ความคิดแก่ฉัน แต่คำสั่งของฉันยังทำงานไม่ถูกต้อง สิ่งที่ฉันมีตอนนี้ดูเหมือน:
nohup sh -c 'for i in {0..9}; do spark-submit --class some.Code /some/Jar.jar --input_path /some/path/part-001"$i"* > test_log.log; done' &
เมื่อฉันรันงานนี้ล้มเหลวโดยมีข้อยกเว้นต่อไปนี้ว่าไม่มีพา ธ อินพุตและแสดงพา ธ เป็น:
/some/path/part-001{0..9}*
ฉันจะเอาสิ่งนี้มาแทนที่$iด้วยค่าจริงของ i ไม่ใช่สตริงได้{0..9}อย่างไร
คำตอบ
2 KamilMaciorowski Sep 18 2020 at 23:17
nohupปัญหามีอะไรจะทำอย่างไรกับ
การขยายตัวรั้งเป็น bashism วิ่งรหัสของคุณซึ่งไม่ขยายsh {0..9}ใช้bashแทนsh.
หากคุณยังคงต้องการที่จะใช้แล้วsh (เกือบทุกครั้งควรอ้างสองครั้งแต่ในกรณีนี้การไม่อ้างถึงเป็นสิ่งที่ถูกต้อง)for i in $(seq 0 9); do …
$()