ฉันชอบที่จะกำหนดฟังก์ชั่นใน ~/.bashrc
และใช้ในสคริปต์ต่าง ๆ ทั้งทาง ส่งออก -f
หรือ ที่มา .bashrc
.
ฟังก์ชั่น:
นาโน ~/.bashrc
ฟังก์ชัน test_func() {
yt-dlp -f '299+140' --merge-output-format mp4 -cia List.txt;
}
ส่งออก -f test_func
สคริปต์:
#!/bin/bash
cd /home/admn/ดาวน์โหลด/YT_DL;
test_func --autonumber-start 101 -o '%(autonumber)1d_%(ชื่อ)s.%(ext)s';
ปัญหา-1:
หลังจาก test_func
ส่วนที่เหลือของคำสั่ง --autonumber-เริ่ม 101 -o '%(autonumber)1d_%(title)s.%(ext)s'
ไม่ทำงานเลย
ปัญหา-2:
ก่อนหน้านี้เมื่อฉันลองใช้ ที่มา .bashrc
ในสคริปต์ของฉัน ฉันได้รับข้อผิดพลาดเหล่านี้:
/usr/local/scripts/test.sh: บรรทัดที่ 3: .bashrc: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว
/usr/local/scripts/test.sh: บรรทัด 12: test_func: ไม่พบคำสั่ง
ฟังก์ชัน (ไม่มี ส่งออก -f
):
นาโน ~/.bashrc
ฟังก์ชัน test_func() {
yt-dlp -f '299+140' --merge-output-format mp4 -cia List.txt;
}
สคริปต์ (ด้วย ที่มา .bashrc
):
#!/bin/bash
ที่มา .bashrc
cd /home/admn/ดาวน์โหลด/YT_DL;
test_func --autonumber-start 101 -o '%(autonumber)1d_%(ชื่อ)s.%(ext)s';
แก้ไข-1:
$ bash -xv /usr/local/scripts/test.sh
#!/bin/bash
แหล่งที่มา /home/admn/.bashrc
+ แหล่งที่มา /home/admn/.bashrc
# ~/.bashrc: ดำเนินการโดย bash(1) สำหรับเชลล์ที่ไม่ได้เข้าสู่ระบบ
# ดู /usr/share/doc/bash/examples/startup-files (ในแพ็คเกจ bash-doc)
# ตัวอย่าง
# นามแฝง pip='pip3.7'
นามแฝงหลาม = 'python3'
++ นามแฝง python=python3
#ถ้าไม่โต้ตอบก็อย่าทำอะไรเลย
กรณี $- ใน
*ผม*) ;;
*) กลับ;;
เอสแซค
++ กรณี $- ใน
++ กลับ
test_func --autonumber-start 101 -o '%(autonumber)1d_%(ชื่อ)s.%(ext)s';
+ test_func --autonumber-start 101 -o '%(autonumber)1d_%(ชื่อ)s.%(ext)s'
/usr/local/scripts/test.sh: บรรทัดที่ 5: test_func: ไม่พบคำสั่ง
$
นี่คือหัวข้อบางส่วนที่ฉันได้ผ่านไป และแม้ว่าฉันจะมีความคิดบางอย่าง แต่ก็ยังไม่สามารถหาทางออกสำหรับกรณีการใช้งานของฉันได้ ขอบคุณ.
https://unix.stackexchange.com/questions/63665/how-to-define-a-bash-function-that-can-be-used-by-different-scripts
https://stackoverflow.com/questions/6218268/how-to-define-a-bash-function-for-use-in-any-script
https://stackoverflow.com/questions/17219174/variables-set-in-bashrc-and-accessing-them-in-shellscript
https://stackoverflow.com/questions/1500499/how-do-you-call-a-function-defined-in-bashrc-from-the-shell
กำหนดฟังก์ชัน bash ที่ใช้ได้ทั่วโลกเพื่อใช้โดยสคริปต์ใดๆ
ระบบปฏิบัติการ: Ubuntu MATE 21.04
ทุบตี: 5.1.4(1)-release (x86_64-pc-linux-gnu)