ฉันจะกำหนดค่า cowsay ได้อย่างไร


18

ผมได้ติดตั้งและcowsay ฉันต้องการที่จะตั้งค่าการเจรจาของตัวเองหรือในตำราfortune cowsayแต่ฉันไม่สามารถกำหนดค่าได้ เมื่อผมเปิด terminal cowsayมีอะไรจาก ฉันต้องการที่จะแสดงcowsayเมื่อฉันเริ่มต้นขั้ว

แต่งานนี้:

hash@ssl50:~$ cowsay -f tux "Carry on"

< carry on >
----------
   \
    \
        .--.
       |o_o |
       |:_/ |
      //   \ \
     (|     | )
    /'\_   _/`\
    \___)=(___/

คำตอบ:


13

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

$HOME/cowscript

ตอนนี้สคริปต์ที่ใช้ใน Linux Mint 9 มีดังต่อไปนี้:

#!/bin/bash
RANGE=4

number=$RANDOM
let "number %= $RANGE"
case $number in
    0)
        cow="small"
        ;;
    1)
        cow="tux"
        ;;
    2)
        cow="koala"
        ;;
    3)
        cow="moose"
        ;;
esac

RANGE=2
number=$RANDOM
let "number %= $RANGE"
case $number in
    0)
        command="/usr/games/cowsay"
        ;;
    1)
        command="/usr/games/cowthink"
        ;;
esac
/usr/games/fortune | $command -f $cow

โดยทั่วไปก็จะแสดงวัวสุ่ม (ทั้งขนาดเล็ก , ทักซิโด้ , หมีโคอาล่าหรือกวาง ) และข้อความจะถูกนำมาจากโชคลาภ นอกจากนี้สคริปต์นี้จะดำเนินการกับcowsayหรือcowthinkที่แตกต่างกันเพียงอย่างเดียวคือcowthinkนั้นจะแสดงวัวที่กำลังคิดแทนวัวพูด

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

cowsay -l

คุณสามารถใช้วัวเหล่านี้ได้ สิ่งที่คุณต้องทำคือแก้ไขสคริปต์: ถ้าคุณต้องการเพิ่มวัวใหม่เพียงแค่คัดลอกบรรทัดที่มี "วัว" (รวมถึงจำนวนและเซมิโคลอน) และวางไว้ก่อนบรรทัดที่ระบุว่า "esac" จากนั้นเปลี่ยนหมายเลขและชื่อของวัวดังนั้นหากคุณต้องการเพิ่มวัวชื่อ "udder" สิ่งที่คุณต้องทำคือเพิ่มบรรทัดเหล่านี้ก่อน "esac" แรก:

4)
    cow="udder"
    ;;

สำคัญ : บรรทัดที่สองของไฟล์ "RANGE = 4" ต้องเปลี่ยนด้วย หากคุณเพิ่มวัวหนึ่งตัวดังนั้นแทนที่จะเป็น 4 ใช้ 5 และถ้าคุณลบวัวหนึ่งตัวคุณต้องใช้ 3 และอื่น ๆ นอกจากนี้ยังทราบว่าตัวเลขที่คุณเห็นจะต้องอยู่ในช่วงตั้งแต่ 0 ถึงRANGE - 1 นั่นเป็นสาเหตุที่ RANGE เป็น 4 และตัวเลขคือ 0, 1, 2 และ 3

คุณสามารถสร้างวัวของคุณเองได้แม้ว่ามันอาจใช้เวลาทำงานอีกเล็กน้อย สิ่งที่คุณต้องทำคือการได้รับศิลปะ ASCII ที่คุณชอบและแก้ไข แต่มันค่อนข้างยุ่งยาก คุณสามารถดูวิธีการทำที่นี่: http://lmpeiris.wordpress.com/2011/01/17/cowsayhow-to-make-a-cow-talk-on-terminal-startup/อย่างไรก็ตามพิจารณาว่า@และ\สัญลักษณ์ต้องมีการ backslashed, ที่อยู่, คุณต้องใส่ก่อนที่สัญลักษณ์สัญลักษณ์อื่น ๆ : \ นี่อาจเป็นกรณีสำหรับ#ด้วย (แต่ไม่เสมอไป) หาก ASCII Art ของคุณมี#คุณอาจแบ็กสแลชมันด้วย แต่บางครั้งมันก็เพียงพอกับหนึ่งในนั้น ... ฉันไม่แน่ใจว่าจะอธิบายอย่างไรขอโทษ ฉันเดาว่าคุณจะต้องลองดูว่ามันใช้งานได้หรือเปล่า นอกจากนี้ตรวจสอบให้แน่ใจว่าไฟล์ที่คุณแก้ไขมีนามสกุล ".cow"

ในที่สุดเมื่อคุณมีวัวของคุณเองคุณสามารถเพิ่มพวกมันไปยังตำแหน่งเริ่มต้น (คุณอาจจะต้องเป็น superuser สำหรับมัน) ที่ / usr / share / cowsay / cows หรือคุณสามารถเพิ่มไฟล์ ~ / .bashrc ของคุณ บรรทัดนี้:

export COWPATH="/usr/share/cowsay/cows"
# set COWPATH so it includes user's cows
if [ -d "$HOME/cowfiles" ] ; then
    COWPATH="$COWPATH:$HOME/cowfiles"
fi

อย่าลืมเพิ่มบรรทัดเหล่านั้นก่อนที่จะเรียก "cowscript" ของคุณ สิ่งนี้จะถือว่าคุณมีโฟลเดอร์ชื่อ "cowfiles" ในโฟลเดอร์บ้านของคุณ เปลี่ยนพา ธ ถ้าคุณต้องการให้ชี้ไปที่โฟลเดอร์ที่คุณมี cowfiles


13

cowsay บรรทัดคำสั่งด้วยการสุ่ม cowfile:

fortune | cowsay -f `ls /usr/share/cowsay/cows/ | shuf -n 1`

ผลลัพธ์:

     ___________________________________
/ Q: Who cuts the grass on Walton's \
\ Mountain? A: Lawn Boy.            /
 -----------------------------------
  \
   \ ,   _ ___.--'''`--''//-,-_--_.
      \`"' ` || \\ \ \\/ / // / ,-\\`,_
     /'`  \ \ || Y  | \|/ / // / - |__ `-,
    /@"\  ` \ `\ |  | ||/ // | \/  \  `-._`-,_.,
   /  _.-. `.-\,___/\ _/|_/_\_\/|_/ |     `-._._)
   `-'``/  /  |  // \__/\__  /  \__/ \
        `-'  /-\/  | -|   \__ \   |-' |
          __/\ / _/ \/ __,-'   ) ,' _|'
         (((__/(((_.' ((___..-'((__,'

คุณสามารถเพิ่มบรรทัดคำสั่งนี้เพื่อสิ้นสุดสคริปต์โปรไฟล์ล็อกอินของคุณเพื่อดูการสุ่มcowsayในเทอร์มินัลใด ๆ สำหรับbashคุณจะต้องใส่บรรทัด~/.bashrcนี้


หากต้องการให้สุ่มเลือกระหว่างcowsayและcowthinkคุณสามารถทำสิ่งนี้:

fortune | `ls /usr/games/cow* | shuf -n 1` -f `ls /usr/share/cowsay/cows/ | shuf -n 1`

นี้จะช่วยให้มีทางออกที่หนึ่งสายที่มี cowfiles สุ่มแทนการพยายามขยายสคริปต์ลินุกซ์มิ้นท์


มันสมบูรณ์แบบ! สิ่งที่ฉันต้องการ
landroni

คุณต้องติดตั้งทั้งสองcowsayและfortunesเพื่อให้งานนี้
landroni

นั่นคืออัจฉริยะ !! ขอบคุณสำหรับสายการบินเดียว: P :)
codeMan

1
+1 นี่คือทองคำ! ต้องเพิ่ม sed เพิ่มเติม: fortune | cowsay -f `ls /usr/local/share/cows/ | sed "s/.cow\*//g" | shuf -n 1` (Cygwin)
ps95

แน่นอนว่า dir นั้นมี*.pmไฟล์บางไฟล์ที่ไม่สามารถใช้งานได้โดยตรงจำเป็นต้องใช้จาก*.cowไฟล์อื่น อย่าคิดว่าคุณต้องมีสติทำให้เส้นทางเต็มcowsay -f `ls /usr/share/cowsay/*.cow | shuf -n1` เหมาะสำหรับฉัน (แนะนำต่าง ๆ ใน distro ของฉัน)
Beni Cherniavsky-Paskin

10

หากคุณต้องการรวมcowsayและfortuneนำเสนอข้อความด้วยทุกครั้งที่คุณเริ่มใช้งานเทอร์มินัลให้เพิ่มบรรทัดต่อไปนี้:

fortune | cowsay -f tux

ไปที่ไฟล์.bashrcในโฟลเดอร์บ้านของคุณ


2

ฉันใช้สองคำตอบแรกและหน้าคนเพื่อรับความคิดแบบสุ่มของเต่า

  1. พบcowsay -lสวิตช์เพื่อแสดงรายการ cowfiles ทั้งหมด
  2. ~/.bashrcหลังจากที่พบเต่าผมแก้ไขของฉัน

    fortune | cowsay -f turtle
    

ป.ล. ฉันขอแนะนำว่าขั้นตอนแรกของคุณคือ

$ sudo apt-get install fortune-mod fortunes-ubuntu-server fortunes-off fortunes-bofh-excuses fortunes-debian-hints fortunes-spam cowsay

ด้วยวิธีนี้คุณจะมีโชคมากมาย โชคชะตาเหล่านี้ยังมีประโยชน์หากคุณมี "แวนด้าผู้ชาญฉลาด Gnome" ติดตั้ง / อาจตั้งค่าให้ทำงานอัตโนมัติ

ชุดโชคลาภอันยิ่งใหญ่คือแพ็คเกจมิ้นต์ fortunes-husse.deb ดังนั้นหาไฟล์. deb ออนไลน์ผ่าน Google อย่างรวดเร็วหรือเพิ่มคลังเก็บของ Mint ลงใน Ubuntu

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.