با Gnome Tweaks میتونی پایانه رو تنظیم کنی پس از بالا اومدن سامانه اجرا بشه ، بعد توی .bashrc بگی اگه بار نخست بود که اجرا کن فلان اسکریپتو و مثلا یه پرونده بسازه تو /tmp که اگه بعدا باز کردی پایانه رو ، بررسی کنه اگه اون پرونده وجود داره ادامه نده ، چه کاریو ؟ اجرای اسکریپی که برنامه figlet رو اجرا کنه بنویسه h ، پس از نیم ثانیه پاک کنه بنویسه he و ... تا کامل برسه به helloفکر کنم این تو ذهنته
این ایده منه : )
figlet h
Clear
Figlet hi
تمیز در نمیاد
#!/bin/bash
sleep 2 &
wait -n
echo "h"
sleep 2 &
wait -n
echo "e"
sleep 2 &
wait -n
echo "l"
sleep 2 &
wait -n
echo "l"
sleep 2 &
wait -n
echo "o"
فکر کنم این تو ذهنتهنه !
figlet h
sleep 0.5
clear
figlet he
...
یک چیزی نوشتم که بشه روش کار بکنم و با کمک شما بهترش کنم .بالا گذاشتم ، بسته figlet اگه نخواستی نصب نکن و با همون اکو پیش برو
چکار بکنم حروفی که چاپ می شوند ، عوض اینکه هر کدامشان در یک سطر جدید چاپ بشوند ، پشت سرهم فقط در یک سطر چاپ بشوند؟
#!/bin/bash
sleep 0.5 &
wait -n
echo "h"
sleep 0.5 &
wait -n
clear
echo "he"
sleep 0.5 &
wait -n
clear
echo "hel"
sleep 0.5 &
wait -n
clear
echo "hell"
sleep 0.5 &
wait -n
clear
echo "hello"
کنده و چیزای اضاف زیاد داره این ، همونی که نوشتم بهترهsleep شمارشش با ثانیه هست؟
ارهویرایشش کردم، فک کنم مشکل کندیش کمتر شده باشه
#!/bin/bash
sleep 2 &
wait -n
echo -n "h"
sleep 2 &
wait -n
echo -n "e"
sleep 2 &
wait -n
echo -n "l"
sleep 2 &
wait -n
echo -n "l"
sleep 2 &
wait -n
echo "o"
اخه wait -n میخواد چیکار ؟نمیدونستم ;D
حتی اون & اخر دستور sleep رو هم نمیخواد
دابل کوت های اکو هم لازم نیس
اخه wait -n میخواد چیکار ؟بدون wait -n ، اسکریپتی که من نوشتم درست عمل نمی کند یعنی sleep ها اجرا نمی شوند و عوض اینکه حرف به حرف نوشته شود خود کل کلمه بدون هیچ وقفه ای درج می گردد. دلیل علمی قضیه را نمی دانم ، این wait -n را از اینترنت پیدا کردم و چپوندم تو اسکریپت و درست عمل کرد.
حتی اون & اخر دستور sleep رو هم نمیخواددرست می فرمایید، امتحان کردم نیازی به استفاده از امپرساند نبود ولی نمیدانم در اسکریپت های موجود در اینترنت از این علامت بعد از sleep استفاده می کنند، دلیلش را نمی دانم چیست ، گفتم حتما یک خبری است و من هم استفاده کردم!!!
دابل کوت های اکو هم لازم نیسدرست می فرمایید، امتحان کردم نیازی به استفاده از دابل کوت های اکو نبود ولی نظر شخصی ام این است که در اسکریپت با علایم کوتیشن یا دابل کوتیشن بهتر می توان string ها را تشخیص داد. من هم بدین دلیل ترجیح می دهم استفاده کنم.
اول شروع اسکریپت چرا صبر بکنه اصلا ؟بنظرم این وقفه ها در اجرای درست دستورات بهتر است باشند. می خواهیم در هنگام لاگین کاربر یک text editor یا Terminal Emulators باز شود و در آن عبارت " hello " به ترتیب حروف بصورت اتومات نوشته شود. این text editor یا ترمینال برای باز شدن در مونیتور کاربر بصورت کامل نیازمند زمان است و ما با وقفه اولی این عمل را انجام می دهیم.
آیا راهی وجود دارد که سایز و یا رنگ فونت های خروجی را تغییر بدهم؟
آیا از کدهای html در bash script می توان استفاده کرد؟
درست می فرمایید. ولی می خواستم بدانم به چه دردی می خورد.
فکر کنم خودتون کنار اونها کلیک کردید و باعث شده این علامتها ظاهر بشن. اگه اینجوری باشه، باید با کلیک مجدد روی همون علامتها، حذف بشن.
چرا اسکریپت رو به این شکل نوشتید؟ اون علامت & آخر هر sleep رو بردارید تا sleep توی پس زمینه اجرا نشه. اون wait -n ها رو هم حذف کنید.درست فرمودید،اضافی بودند و اصلاح شد ولی در خروجی تاثیری نداشت و خروجی هر دو دستور یکی است.( بنده خدا Sudo ، کمی بالاتر همین را گفته بودند ولی نمیدانم آنموقع همین ها را اصلاح کردم چرا آنموقع اصلا درست در نمی آمد!!)
۳- شاید با ساختن فایل desktop. مناسب برای اونها بشه اینکار رو کرد.نشد. نمی دانم کجای کار اشکال دارد.(عکس 2)
۱- بنظرتان چرا مثلا رنگ فونتها قابل تغییر است ولی سایز آنها نه؟
۲-اگر به عکس نگاه کنید مثلا در کناره های سطرهای 30 و 31 کلیک کرده ام ، یک علامت مثبت ( + ) در کنار این سطرها افتاده است، منظور از این علامت مثبت چیست؟(عکس 1)
۳- وقتیکه در ترمینال تایپ می کنم test.sh/. اسکریپت ها در داخل همین ترمینال اجرا می شود، چکار کنم که با RUN کردن این فایل ،ترمینالی باز بشود و این دستورات در داخل آن ترمینال اجرا بشود؟
خودم به ابتدای اسکریپت دستور & gnome-terminal را اضافه کردم ولی فایده ای نداشت تنها یک ترمینال باز می شود ولی در ادامه کار این دستورات در آن اجرا نمی شود؟( بهمین جهت کامنتش کردم)
xterm -hold -e "echo Hello My World"
#/bin/bash
gnome-termianl
ls
w
یه Terminal=true اضافه کنید، ببینید درست نمیشه؟۳- شاید با ساختن فایل desktop. مناسب برای اونها بشه اینکار رو کرد.نشد. نمی دانم کجای کار اشکال دارد.(عکس 2)
gnome-terminal --command=/path/to/script.sh
یه Terminal=true اضافه کنید، ببینید درست نمیشه؟نه، درست نشد.
یه بار سعی کنید اینجوری اسکریپت رو اجرا کنید، شاید توی یه ترمینال جدید اجرا بشه.بله ،اجرا می شود و یک پنجره ترمینال جداگانه باز می شود و اسکریپت ها در آن بدرستی اجرا می شوند ، ولی در همان ترمینال اصلی دو تا تذکر داده است. اگر در مورد آنها کمی راهنمایی بفرمایید ممنون می شوم:کد: [انتخاب]gnome-terminal --command=/path/to/script.sh
# Option “--command” is deprecated and might be removed in a later version of gnome-terminal.
# Use “-- ” to terminate the options and put the command line to execute after it.اگر بخواهیم به این دو تا تذکر عمل نماییم ، برای اجرای اسکریپت بجای این فرمانی که فرمودید ، چه فرمانی بایستی بکار ببریم؟
gnome-terminal -- /path/to/script
rm -- -rf
دستور بالا باعث میشه که rm سعی کنه فایلی به اسم rf- رو پاک کنه. به عبارتی rf- دیگه به عنوان یه آپشن پردازش نمیشه.#!/bin/bash
sleep 5
echo -n "$(tput setaf 1)H"
sleep 2
echo -n "$(tput setaf 1)e"
sleep 2
echo -n "$(tput setaf 1)l"
sleep 2
echo -n "$(tput setaf 1)l"
sleep 2
echo -n "$(tput setaf 1)o"
sleep 2
echo -en "\t"
sleep 2
echo -n "$(tput setaf 2)W"
sleep 2
echo -n "$(tput setaf 2)o"
sleep 2
echo -n "$(tput setaf 2)r"
sleep 2
echo -n "$(tput setaf 2)l"
sleep 2
echo "$(tput setaf 2)d"
sleep 5
#!/bin/bash
gnome-terminal -- /home/a/Documents/test.sh
باز هم میگم ، اون مکث اولیه لازم نیست ، این سیستم عامل رو دست کم گرفتین : )
( میتونم بپرسم چرا زرد ؟ چشمتونو اذیت نمیکنه ؟ )
( میتونم بپرسم چرا زرد ؟ چشمتونو اذیت نمیکنه ؟ )یک image viewer دیگری نصب کردم ومشکل درست نشان ندادن رنگ ها برایم حل شد.( در Xviewer ، نمایشگر تصویر پیش فرض لینوکس مینت برایم درست نشان نمی داد)
ممنون، درست اجرا می شود.
چرا در دستوری که دادید بجای " gnome-terminal " نمی توان " usr/bin/x-terminal-emulator/ " را بکار برد؟
( اگر توزیع دیگری داشتم که ترمینال پیش فرض آن ترمینال گنوم نبود ، بایستی این فرمان تغییر بیابد ، می خواستم یک جمله عمومی بنویسم که بدون تغییر در تمامی توزیع ها بکار برود.)
gnome-terminal -- /home/a/Documents/test.sh
xfce4-terminal -- /home/a/Documents/test.sh
x-terminal-emulator -e /home/a/Documents/test.sh
/usr/bin/x-terminal-emulator -e /home/a/Documents/test.sh
در محیط ترمینال به آنچه که مد نظرم بود رسیدم( بغیر سایز فونت ) ، می خواستم اینبار این عمل را بجای ترمینال بر روی texteditor انجام بدهم.یعنی texteditor ای باز شود وبصورت اتومات بر روی آن نوشته هایی نوشته شود ،ولی هیچ ایده ای ندارم. اگر ایده ای یا نظری داشتید ، لطفا بفرمایید تا رویش کار بکنم.
sudo mv /etc/apt/preferences.d/nosnap.pref ~/Documents/nosnap.backup
sudo apt update
sudo apt install snapd
sudo snap install notepad-plus-plus
settings -> Preferences -> MISC. -> Update silently
#!/bin/bash
touch /home/a/Desktop/test.txt
notepad-plus-plus /home/a/Desktop/test.txt &
sleep 4
echo "H" > /home/a/Desktop/test.txt
notepad-plus-plus /home/a/Desktop/test.txt
sleep 2
echo "He" > /home/a/Desktop/test.txt
notepad-plus-plus /home/a/Desktop/test.txt
sleep 1
echo "Hel" > /home/a/Desktop/test.txt
notepad-plus-plus /home/a/Desktop/test.txt
sleep 1
echo "Hell" > /home/a/Desktop/test.txt
notepad-plus-plus /home/a/Desktop/test.txt
sleep 1
echo "Hello" > /home/a/Desktop/test.txt
notepad-plus-plus /home/a/Desktop/test.txt
sleep 1
echo "Hello-" > /home/a/Desktop/test.txt
notepad-plus-plus /home/a/Desktop/test.txt
sleep 1
echo "Hello " > /home/a/Desktop/test.txt
notepad-plus-plus /home/a/Desktop/test.txt
sleep 1
echo "Hello W" > /home/a/Desktop/test.txt
notepad-plus-plus /home/a/Desktop/test.txt
sleep 1
echo "Hello Wo" > /home/a/Desktop/test.txt
notepad-plus-plus /home/a/Desktop/test.txt
sleep 1
echo "Hello Wor" > /home/a/Desktop/test.txt
notepad-plus-plus /home/a/Desktop/test.txt
sleep 1
echo "Hello Worl" > /home/a/Desktop/test.txt
notepad-plus-plus /home/a/Desktop/test.txt
sleep 1
echo "Hello World" > /home/a/Desktop/test.txt
notepad-plus-plus /home/a/Desktop/test.txt
sleep 3
echo "" > /home/a/Desktop/test.txt
notepad-plus-plus /home/a/Desktop/test.txt
sleep 1
rm -f /home/a/Desktop/test.txt