Score:3

ความเสี่ยงในการแทนที่ไฟล์ .bashrc จากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่ง

ธง id

ฉันมีแล็ปท็อป Asus Zenbook 2 เครื่องที่ใช้ Ubuntu 20.04.3LTS (แล็ปท็อปปัจจุบันของฉันและฉันเก็บแล็ปท็อปเครื่องเก่าไว้เป็นระบบสำรองฉุกเฉินเพราะขาดแล็ปท็อปไม่ได้) ฉันไม่ค่อยได้ใช้อันเก่า แต่ฉันวิ่ง sudo ap-รับการอัปเดต และ sudo apt-get อัปเกรด ทุก 3-4 สัปดาห์

เมื่อฉันเปิดเครื่องครั้งล่าสุดเมื่อสองสามวันก่อน ฉันพบข้อผิดพลาดเมื่อเปิดเทอร์มินัล:

bash: /home/will/.bashrc: บรรทัดที่ 100: EOF ที่ไม่คาดคิดขณะค้นหา 
จับคู่ `)'
bash: /home/will/.bashrc: บรรทัดที่ 121: ข้อผิดพลาดทางไวยากรณ์: จุดสิ้นสุดของไฟล์ที่ไม่คาดคิด  

... แม้ว่าดูเหมือนว่าจะทำงานได้ดีสำหรับทุกสิ่งที่ฉันพยายามทำในเทอร์มินัล

ตามปกติแล้ว ไม่มีอะไรชัดเจนในบรรทัดที่กล่าวถึงในข้อผิดพลาดที่เป็นสาเหตุ - ฉันได้ตรวจสอบอย่างรวดเร็วและไม่พบสิ่งใดที่ฉันเปลี่ยนแปลงในไฟล์ที่อาจเป็นสาเหตุ แม้ว่าฉันอาจจะตามล่ามันได้ในที่สุด มันอาจจะง่ายกว่าที่จะแทนที่ไฟล์

คำถามของฉันคือ เนื่องจากฉันมีแล็ปท็อปที่คล้ายกันเครื่องที่สองที่ใช้ Ubuntu เวอร์ชันเดียวกัน มีเหตุผลใดบ้างที่ไม่เพียงคัดลอก .bashrc ที่ใช้งานได้จากแล็ปท็อปรุ่นใหม่เพื่อแทนที่เครื่องที่เสียหายบนแล็ปท็อปเครื่องเก่าของฉัน ฉันน่าจะแทนที่ด้วยเวอร์ชันดั้งเดิมจาก USB สด (มีบางโพสต์ในไซต์นี้แนะนำทางอ้อมว่าเป็นไปได้) แต่มันเกิดขึ้นกับฉันว่านามแฝงบางส่วนที่ฉันสร้างขึ้น (และดังนั้นใน .bashrc บนของฉัน แล็ปท็อปรุ่นใหม่) จะมีประโยชน์หากมีในแล็ปท็อปเครื่องเก่า

หากเป็นไปได้ โปรดระบุด้วยหากคุณทราบถึงสถานการณ์ใดๆ ที่จะเป็นเช่นนั้น ไม่ เป็นความคิดที่ดี คงไม่สมเหตุสมผลระหว่าง Ubuntu รุ่นต่างๆ? สิ่งนี้ไม่เกี่ยวข้องกับสถานการณ์ของฉัน แต่ (ไม่สนใจ) ฉันคิดว่าไม่สำคัญว่าฮาร์ดแวร์จะแตกต่างกันมากหรือไม่ (เช่น แล็ปท็อปกับเดสก์ท็อป)

แก้ไข: เพื่อตอบสนองต่อความคิดเห็น: มันเป็นไฟล์ที่มีอยู่ในตัวเอง การแก้ไขเพียงอย่างเดียวที่ฉันทำ (โดยรู้เท่าทัน) คือการเพิ่มนามแฝง (เพื่อซิงค์ข้อมูลในพาร์ติชันที่เข้ารหัสของฉันกับไดรฟ์ที่เข้ารหัสด้วยปุ่มกดภายนอก) เห็นได้ชัดว่าฉันได้ดูนามแฝงเพื่อตรวจสอบว่าฉันไม่ได้ทำผิดพลาดง่ายๆ แต่ไม่พบสิ่งใดที่ชัดเจน

mchid avatar
bo flag
ดูเหมือนว่ามีอักขระที่ไม่ตรงกัน (ในบรรทัดที่ 100 และอาจเป็นช่องว่างที่มองไม่เห็นหรืออักขระพิเศษในบรรทัดที่ 121 ไม่ว่าในกรณีใด การแทนที่ไฟล์ควรเป็นการแก้ไขที่ง่าย (ดูคำตอบของฉันด้านล่าง)
cn flag
มันแปลกที่ข้อผิดพลาดนี้เพิ่งเริ่มเกิดขึ้นใช่ไหม
Will avatar
id flag
มันแปลก ... แม้ว่ามันอาจจะมีมาสักระยะแล้ว - มันไม่ชัดเจนถ้าคุณไม่ได้คาดหวังอะไรบางอย่าง - ฉันค่อนข้างแน่ใจว่ามันจะเป็นข้อผิดพลาดของมนุษย์และฉันได้ทำสิ่งที่ตลกกับไฟล์ในขณะที่แก้ไข มัน.
bac0n avatar
cn flag
`แตกต่าง -y -W130 ~/.bashrc /etc/skel/.bashrc | cat -n` เป็นการเริ่มต้นที่ดี
muru avatar
us flag
`.bashrc` ของคุณมีอยู่ในตัวหรือไม่? คุณทำการปรับเปลี่ยนประเภทใด หากไม่มีข้อมูลนี้ ก็จะไม่สามารถให้คำตอบที่สมเหตุสมผลได้
Will avatar
id flag
@muru - ขอบคุณ ใช่ มันมีอยู่ในตัวเองการแก้ไขเพียงอย่างเดียวที่ฉันทำโดยเจตนาคือการเพิ่มนามแฝงเพื่อเรียกใช้การซิงโครไนซ์ระหว่างแล็ปท็อปและไดรฟ์ภายนอกโดยใช้ rsync ฉันได้แก้ไขคำถามด้วยข้อมูลนี้แล้ว
muru avatar
us flag
@ คุณจะลองใช้ shellcheck หรือไม่ นอกจากนี้ยังเป็นโปรแกรมที่ติดตั้งได้ ซึ่งคุณสามารถใช้ได้หากคุณไม่ต้องการส่ง bashrc ไปยังเว็บไซต์
vanadium avatar
cn flag
แม้จะมีการใช้คำฟุ่มเฟือย แต่คำถามของคุณก็คือ "ความเสี่ยงในการแทนที่ไฟล์ .bashrc จากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่ง" ดังนั้นโปรดติดมัน ความพยายามใดๆ ในการแก้ไขข้อบกพร่องของไฟล์ของคุณนั้นอยู่นอกเหนือขอบเขตของคำถามที่คุณถาม
Will avatar
id flag
@muru - ขอบคุณสำหรับสิ่งนั้น ตามที่วาเนเดียมบอกว่าความสนใจหลักของฉันคือการดูว่าคุณสามารถคัดลอกไฟล์จากระบบหนึ่งไปยังอีกระบบหนึ่งได้หรือไม่ แต่มันดูมีประโยชน์หากฉันประสบปัญหาอื่น ๆ ดังนั้นขอบคุณ!
Will avatar
id flag
@vanadium - ใช่ฉันมีตัวเลือก -v ในคำถามของฉัน !! คุณพูดถูก ฉันสนใจที่จะแทนที่ไฟล์
Score:7
ธง bo

ฉันไม่คิดว่าจะมีเหตุผลใดที่จะไม่คัดลอกและแทนที่ของเก่า .bashrc ไฟล์ใหม่ เว้นแต่คุณจะมีการกำหนดค่าแบบกำหนดเองจำนวนมากในไฟล์

ใหม่ .bashrc ไฟล์จะเป็นการแทนที่ที่ดีและทำงานได้อย่างสมบูรณ์ สมมติว่าไม่มีการกำหนดค่าที่กำหนดเองเฉพาะผู้ใช้ในไฟล์ใหม่

เพื่อความปลอดภัย ควรทำการสำรองข้อมูลไฟล์เก่าไว้เสมอ

Score:2
ธง cn

ข้อผิดพลาดสามารถแก้ไขได้โดยการตรวจสอบปัจจุบันของคุณ .bashrc ไฟล์. อย่างไรก็ตาม หากคุณไม่ได้ทำการปรับแต่งอย่างละเอียด วิธีที่ปลอดภัยที่สุด แทนที่จะคัดลอกไฟล์จากที่อื่น จะเป็นการรีเซ็ตไฟล์ปัจจุบันของคุณ .bashrc เป็นค่าเริ่มต้นของระบบ:

cp /etc/skel/.bashrc ~
Will avatar
id flag
คำตอบที่เป็นประโยชน์ ... ทำให้ฉันมั่นใจในการทำสำเนาจากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่งโดยรู้ว่าฉันสามารถคืนค่าเป็นค่าเริ่มต้นได้หากเกิดข้อผิดพลาด
Will avatar
id flag
ขอบคุณ ได้โหวตทั้งคำตอบและยอมรับหนึ่งข้อแล้ว
Score:0
ธง id

ขอบคุณทั้งสองคำตอบด้านบน - เพื่อยืนยันว่าฉันลองจากแล็ปท็อปเครื่องหนึ่งไปยังอีกเครื่องหนึ่งแล้ว และมันก็ใช้ได้ดีอย่างแน่นอน และแก้ไขข้อผิดพลาดได้

ฉันไม่ได้กังวลกับการสำรองข้อมูลไฟล์เก่าเพราะมันเสียหายอยู่ดีและฉันรู้ (ขอบคุณ @vanadium คำตอบ) วิธีคืนค่าจากค่าเริ่มต้นของระบบหากเกิดข้อผิดพลาด สำหรับฉันมันค่อนข้างมีประโยชน์ที่จะทำสิ่งนี้ได้เพราะมันรักษานามแฝงของฉันไว้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา