Score:0

ฉันจะรับไฟล์สคริปต์ทุบตีเพื่อขอพรอมต์ก่อนดำเนินการขั้นตอนต่อไปได้อย่างไร

ธง cn

ฉันมีสคริปต์หนึ่งบรรทัดเพื่อสร้างไฟล์ในไดเร็กทอรีและเปิดไฟล์ด้วย Kwrite ฉันต้องการให้สคริปต์แจ้งชื่อไฟล์ที่จะสร้างและเปิดโดย Kwrite ในปัจจุบันมันไม่ได้เปิดเทอร์มินัลด้วยซ้ำ แต่ควรจะเป็น ฉันจะบรรลุสิ่งนี้ด้วยสคริปต์ต่อไปนี้ได้อย่างไร:

แมว > file.php & kwrite file.php

ความตั้งใจของฉันคือวางส่วนที่คัดลอกของไฟล์หนึ่งไฟล์เพื่อสร้างไฟล์ใหม่

vanadium avatar
cn flag
Better ask about what you want to achieve, rather than about help with a method you *think* will allow you to achieve your goal. For what you try here, you do not need a script. A simple `kwrite filename` will immediately open kwrite and have that save to `filename`.
Mark Lee avatar
cn flag
@vanadium สิ่งที่คุณพูดมีเหตุผลมาก ฉันกำลังแปลงเลย์เอาต์ html เป็นเทมเพลต php ของ WordPress และกำลังพยายามลดการทำซ้ำ หน้า WP ประกอบด้วยหลายบล็อกที่รวมไว้ แต่ละบล็อกของมาร์กอัป html จะต้องรวมเข้ากับ php บางส่วน หลังจากที่ฉันคัดลอกบล็อกฉันต้องการสร้างไฟล์ php โดยไม่ต้องมีหลายหน้าจอและแอปพลิเคชัน ฉันเปิดไฟล์ php ใหม่ด้วย `พิมพ์ฟ'\n\n' > foo.php & kwrite foo.php` works but I want to be prompted to name each new file.
Score:3
ธง cn

ตัวเลือกที่ 1: การใช้พารามิเตอร์สคริปต์ทุบตี

สร้างสคริปต์ดังนี้:

#!/bin/bash
( echo บางอย่าง > "$1".php && kwrite "$1".php ) &
แจ่มใส

จากนั้น คุณสามารถเรียกสคริปต์โดยส่งชื่อไฟล์ตามหลังคำสั่ง จากนั้นสคริปต์จะสร้างไฟล์ที่มีเนื้อหาที่คุณต้องการโดยอัตโนมัติ โดยเพิ่ม .php นามสกุลโดยอัตโนมัติ และเปิดไฟล์ใน kwrite ขณะที่ปล่อยเทอร์มินัลพรอมต์เพื่อให้คุณป้อนคำสั่งต่อไปนี้

$1 ในสคริปต์เป็นตัวแปรที่ดึงคำถัดไปในบรรทัดคำสั่งโดยอัตโนมัติ เช่น. หากมีการเรียกใช้สคริปต์ phpfileจากนั้นคำสั่ง

phpfile มายไฟล์

จะสร้างและเปิดไฟล์ myfile.php.

ตัวเลือก 2. การใช้ อ่าน สั่งการ

เดอะ อ่าน คำสั่งอนุญาตให้ผู้ใช้ป้อนข้อมูลที่บรรทัดคำสั่ง

#!/bin/bash
echo "กรุณาใส่ชื่อไฟล์: "
อ่าน FILENAME
echo บางอย่าง > "$FILENAME".php && nohup kwrite "$FILENAME".php &
แจ่มใส

ไม่อัพ อาจมีประโยชน์หากคุณกำลังทำงานจากเทอร์มินัล ซึ่งจะแยกตัวแก้ไขออกจากกระบวนการของเทอร์มินัล ดังนั้นจะไม่ถูกปิดหากคุณปิดเทอร์มินัล

ตัวเลือก 3 การใช้เครื่องมือกราฟิก

เซนิตี้ติดตั้งโดยค่าเริ่มต้นใน Ubuntu หรือ Kdialog บนเดสก์ท็อปพลาสมา อนุญาตให้คุณแจ้งผู้ใช้ให้ป้อนข้อมูลในกล่องโต้ตอบแบบกราฟิกเพื่อใช้ในสคริปต์ คุณเรียกใช้เครื่องมือเหล่านี้ในสคริปต์ อินพุตของผู้ใช้จะถูกวางไว้ในตัวแปร ข้อได้เปรียบที่นี่คือคุณสามารถกำหนดสคริปต์ให้กับปุ่มทางลัดได้ จากนั้นคุณสามารถเรียกใช้ด้วยการกดปุ่มเพียงครั้งเดียวเพื่อให้กล่องโต้ตอบ Zenity ปรากฏขึ้นและให้สคริปต์ทำงาน

#!/bin/bash
FILENAME=$(zenity --entry --title "ขอชื่อ" --text "กรุณาใส่ชื่อไฟล์:")
echo บางอย่าง > "$FILENAME".php && nohup kwrite "$FILENAME".php &
แจ่มใส
Mark Lee avatar
cn flag
ขอบคุณ @vanadium คุณทำให้ฉันอยู่บนเส้นทางสู่การแก้ปัญหาด้วยโทเค็น คำตอบของคุณสร้างไฟล์เปล่า สคริปต์นี้แจ้งชื่อ: `#!/bin/bash echo "กรุณาใส่ชื่อไฟล์" อ่านชื่อไฟล์ พิมพ์ฟ '\n\n' > "$filename".php & kwrite "$filename".php` . My issue now is to execute the script via a double click. I'll install Zenity presently because it sounds from what you said exactly the solution.
vanadium avatar
cn flag
แท้จริงแล้ว ความมีไหวพริบอาจเป็นสิ่งที่คุณกำลังมองหา เพื่อความสมบูรณ์ ฉันได้เพิ่มตัวเลือก "อ่าน" ด้วย (อินพุตบนเทอร์มินัล) และฉันเพิ่มตัวอย่างสำหรับตัวเลือกทั้งหมด ม
Mark Lee avatar
cn flag
คำแนะนำของคุณเกี่ยวกับ Zenity ทำให้ฉันไปที่ Kdialog และเปิดมุมมองใหม่ให้กับสคริปต์ของฉันที่เพิ่มจากเจ็ดบรรทัดเป็น 27 บรรทัดด้วยกล่องรายการวิทยุที่เปิดตัวเลือกสำหรับผู้ใช้ (ฉัน) นอกจากนี้ยังทำให้การจัดการข้อผิดพลาดง่ายขึ้นสำหรับมือใหม่ ขอขอบคุณอีกครั้งสำหรับความช่วยเหลือของคุณ
vanadium avatar
cn flag
โปรดยอมรับคำตอบหากเป็นประโยชน์สำหรับคุณ: ทำเครื่องหมายในช่องถัดจากคำถาม ฉันได้อ้างอิงถึง Kdialog สำหรับผู้ใช้ Plasma ในคำตอบของฉันด้วย
Mark Lee avatar
cn flag
เสร็จแล้ว! คิดว่าฉันได้ยอมรับแล้ว แต่ดูเหมือนว่าฉันเพิ่งลงคะแนน ดีที่คุณเพิ่ม Kdialog เนื่องจากติดตั้งด้วย KDE ตอนนี้ฉันได้ทำ README.md แล้ว ซึ่งมันดูดีมาก

โพสต์คำตอบ

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