Bash tips and tricks

Testosterone

New member
Bash tips and tricks

אני מנסה כבר יומיים לפתוח הודעה חדשה עם כל מני טיפים ב Bash, אבל תפוז המקולל מחזיר לי שגיאה בכל פעם שאני לוחץ על שלח.
סעמק. אנסה להדביק את זה בתור תגובה להודעה הזו.
 

Testosterone

New member
And the actual tips:

אני ממש אוהב Bash.
עם השנים אספתי כל מני טריקים שימושיים.

להלן כמה מהם:


# This will echo and multiply the variable, according to the number of commas in the curly braces:
[root@lab1 ~]# num=1
[root@lab1 ~]# echo $num{,,}
1 1

# Simply delete the contents of a file
[root@lab1 ~]# > somefile.txt

# Make text substitutions similarly to SED. This will replace only the first occurrence:
[root@lab1 ~]# var=Eyal_Cohen
[root@lab1 ~]# echo ${var/Cohen/Levi}
Eyal_Levi

# The extra '/' will replace all:
[root@lab1 ~]# echo ${var//Cohen/Levi}

# Is greater than, in ASCII alphabetical order
[root@lab1 ~]# if [[ "$a" > "$b" ]] ; then
.....

# Remove from shortest rear (end) pattern
[root@lab1 ~]# var=Eyal_Cohen
[root@lab1 ~]# echo ${var%_Cohen}
Eyal

# Remove from longest front pattern
[root@lab1 ~]# var=Eyal_Cohen
[root@lab1 ~]# echo ${var##Eyal_}
Cohen

# Find the length of a string:
[root@lab1 ~]# var=foobar
[root@lab1 ~]# echo ${#var}
6

# Set default values to variables. Logic: if the variable's value is not already set, set it as default:
FIRST_POSITIONAL_PARAM=${1:-”www.google.com”} # If the '$1' positional parameter is not given, set it to 'www.google.com'

# A way to extract a specified number of characters from a variable:
[root@lab1 ~]# var=1948
[root@lab1 ~]# echo ${var:0:2}
19



זה הכל לבינתיים. אם גם אתם אובססיביים ואספתם דברים מעניינים על הדרך - שתפו.
 


 

izackv

New member
אולי קצת קטנוני, אבל טיפ חשוב...

אף פעם לא לעבוד עם יוזר root.
בטח לא כשבודקים פקודות מעניינות


עבודה עם sudo מבטיחה שיפור משמעותי ברמת הערנות.
עבודה עם root "מזמינה" צרות. אם אם מדובר באיש לינוקס/יוניקס מנוסה.

--
לדעתי.
 

Dניאל Mור

New member
GLOBIGNORE - טיפ זריז

שכל פעם שאני מראה אותו אנשים נכנסים לסוג של שוק ריגעי


אתן לדוגמא לדבר בעד עצמה, עם זאת, ממליץ בחום לבקר ב - man bash על-מנת להבין קצת יותר את הרעיון והיכולות השונות.

הדוגמא:


$ ls
afile1.txt afile2.txt afile3.txt bfile1.txt bfile2.txt bfile3.txt cfile1.txt cfile2.txt cfile3.txt daniel.txt

$ GLOBIGNORE="daniel.txt"

$ rm *

$ ls
daniel.txt


Testosterone - כל הכבוד על היוזמה והשיתוף. מעריך זאת מאד. בנוסף, יש שרשור ייעודי ל - Tips אז אם אפשר בבקשה, בפעם הבאה, "לשמור על הסדר", אעריך זאת מאד.

תודה רבה!

+דניאל.
 

Testosterone

New member
הייתי מצרף את ההודעה, אבל

השרשור של הטיפים כבר עבר 72 שעות. הוא לא יוקפץ וחבל שאחרים יפספסו הודעה שהשקעתי מאמץ לכתוב.

ואני מוסיף על הטיפ שלך אפשרות נוספת להשיג את אותה פעולה גם בלי משתנה הסביבה שצרפת:



rm -f * !(*.py|*.sh)
# Same goes for 'cp', 'mv' and so on and so forth
 
למעלה