Bash ã¹ã¯ãªãã: å§ãŸã
Bash ã¹ã¯ãªãã ããŒã 2: ã«ãŒã
Bash ã¹ã¯ãªãããããŒã 3: ã³ãã³ã ã©ã€ã³ ãªãã·ã§ã³ãšã¹ã€ãã
Bash ã¹ã¯ãªãã ããŒã 4: å ¥åãšåºå
Bash ã¹ã¯ãªãããããŒã 5: ã·ã°ãã«ãããã¯ã°ã©ãŠã³ã ã¿ã¹ã¯ãã¹ã¯ãªãã管ç
Bash ã¹ã¯ãªãããããŒã 6: é¢æ°ãšã©ã€ãã©ãªã®éçº
Bash ã¹ã¯ãªãããããŒã 7: sed ãšã¯ãŒãããã»ããµ
Bash ã¹ã¯ãªãããããŒã 8: awk ããŒã¿åŠçèšèª
Bash ã¹ã¯ãªãã ããŒã 9: æ£èŠè¡šçŸ
Bash ã¹ã¯ãªãã ããŒã 10: å®è·µçãªäŸ
Bash ã¹ã¯ãªãããããŒã 11: ã€ã³ã¿ã©ã¯ãã£ã ãŠãŒãã£ãªãã£ã®æåŸ ãšèªåå
ä»æ¥ã¯ bash ã¹ã¯ãªããã«ã€ããŠè©±ããŸãã ãã -
ã³ãã³ã ã©ã€ã³ ã¹ã¯ãªããã¯ãããŒããŒãããå
¥åã§ããåãã³ãã³ãã®éåã§ããããã¡ã€ã«ã«åéãããå
±éã®ç®çã«ãã£ãŠçµåãããŸãã ãã®å ŽåãããŒã ã®äœæ¥çµæã¯ç¬ç«ãã䟡å€ãæã€ããšããä»ã®ããŒã ãžã®å
¥åããŒã¿ãšããŠæ©èœããããšãã§ããŸãã ã¹ã¯ãªããã¯ãé »ç¹ã«å®è¡ãããã¢ã¯ã·ã§ã³ãèªååãã匷åãªæ¹æ³ã§ãã
ã³ãã³ãã©ã€ã³ã«ã€ããŠèšãã°ãã»ãã³ãã³ã§åºåã£ãŠå ¥åããããšã§è€æ°ã®ã³ãã³ããäžåºŠã«å®è¡ã§ããŸãã
pwd ; whoami
å®éããããã¿ãŒããã«ã§è©ŠããŠã¿ããšãXNUMX ã€ã®ã³ãã³ããå«ãæåã® bash ã¹ã¯ãªããããã§ã«èšè¿°ãããŠããŸãã ããã¯ãã®ããã«åäœããŸãã ããŒã ãã¡ãŒã¹ã pwd
çŸåšã®äœæ¥ãã£ã¬ã¯ããªã«é¢ããæ
å ±ã衚瀺ããŠãããã³ãã³ããå®è¡ããŸãã whoami
ãã°ã€ã³ããŠãããŠãŒã¶ãŒã«é¢ããæ
å ±ã衚瀺ãããŸãã
ãã®ã¢ãããŒãã䜿çšãããšãXNUMX è¡ã«å¥œããªã ãã³ãã³ããçµã¿åãããããšãã§ããŸããå¯äžã®å¶éã¯ãããã°ã©ã ã«æž¡ãããšãã§ããåŒæ°ã®æ倧æ°ã§ãã 次ã®ã³ãã³ãã䜿çšããŠããã®å¶éãå®çŸ©ã§ããŸãã
getconf ARG_MAX
ã³ãã³ã ã©ã€ã³ã¯åªããããŒã«ã§ãããå¿ èŠã«ãªããã³ã«ã³ãã³ããå ¥åããå¿ èŠããããŸãã äžé£ã®ã³ãã³ãããã¡ã€ã«ã«æžã蟌ã¿ãåã«ãã®ãã¡ã€ã«ãåŒã³åºããŠå®è¡ãããã©ããªãã§ãããã? å®éãç§ãã¡ã話ããŠãããã¡ã€ã«ã¯ã³ãã³ã ã©ã€ã³ ã¹ã¯ãªãããšåŒã°ããŸãã
bash ã¹ã¯ãªããã®ä»çµã¿
ã³ãã³ãã䜿çšããŠç©ºã®ãã¡ã€ã«ãäœæããŸã touch
ã æåã®è¡ã§ã¯ãã©ã®ã·ã§ã«ã䜿çšãããã瀺ãå¿
èŠããããŸãã ç§ãã¡ã¯èå³ããããŸã bash
ãããã£ãŠããã¡ã€ã«ã®æåã®è¡ã¯æ¬¡ã®ããã«ãªããŸãã
#!/bin/bash
ãã®ãã¡ã€ã«ã®ä»ã®è¡ã§ã¯ãã·ã§ã«ãåŠçããªãã³ã¡ã³ãã瀺ãããã«ããã·ã¥èšå·ã䜿çšãããŠããŸãã ãã ããæåã®è¡ã¯ç¹æ®ãªã±ãŒã¹ã§ãããã·ã¥ã®åŸã«æå笊ãç¶ããŸã (ãã®ã·ãŒã±ã³ã¹ã¯ bash
ãã¹ã¯ãªãããç¹å¥ã«äœæãããããšãã·ã¹ãã ã«ç€ºããŸãã bash
.
ã·ã§ã«ã³ãã³ãã¯æ¹è¡ã§åºåãããã³ã¡ã³ãã¯ããã·ã¥èšå·ã§åºåãããŸãã ããã¯æ¬¡ã®ããã«ãªããŸãã
#!/bin/bash
# This is a comment
pwd
whoami
ããã§ã¯ãã³ãã³ã ã©ã€ã³ãšåæ§ã«ãã³ãã³ããã»ãã³ãã³ã§åºåã£ãŠ XNUMX è¡ã«èšè¿°ã§ããŸãã ãã ããã³ãã³ããè€æ°ã®è¡ã«åããŠèšè¿°ãããšããã¡ã€ã«ãèªã¿ããããªããŸãã ãããã®å Žåããã·ã§ã«ãããããåŠçããŸãã
ã¹ã¯ãªãããã¡ã€ã«ã®ã¢ã¯ã»ã¹èš±å¯ã®èšå®
ãã¡ã€ã«ã«ååãä»ããŠä¿åããŸã myscript
, bash ã¹ã¯ãªããã®äœæäœæ¥ã¯ã»ãŒå®äºããŸããã ããšã¯ãã®ãã¡ã€ã«ãå®è¡å¯èœã«ããã ãã§ããããããªããšãå®è¡ããããšãããšãšã©ãŒãçºçããŸãã Permission denied
.
æ£ããæ§æãããŠããªãæš©éã§ã¹ã¯ãªãã ãã¡ã€ã«ãå®è¡ããããšããŠããŸã
ãã¡ã€ã«ãå®è¡å¯èœã«ããŠã¿ãŸãããã
chmod +x ./myscript
ããã§ã¯ãå®è¡ããŠã¿ãŸãããã
./myscript
æš©éãèšå®ãããšããã¹ãŠãæ£åžžã«æ©èœããŸãã
bash ã¹ã¯ãªãããæ£åžžã«å®è¡ãããŸãã
ã¡ãã»ãŒãžåºå
Linux ã³ã³ãœãŒã«ã«ããã¹ããåºåããã«ã¯ã次ã®ã³ãã³ãã䜿çšããŸãã echo
ã ãã®äºå®ã®ç¥èãå©çšããŠã¹ã¯ãªãããç·šéãããã§ã«å«ãŸããŠããã³ãã³ãã«ãã£ãŠåºåãããããŒã¿ã«èª¬æãè¿œå ããŠã¿ãŸãããã
#!/bin/bash
# our comment is here
echo "The current directory is:"
pwd
echo "The user logged in is:"
whoami
æŽæ°ãããã¹ã¯ãªãããå®è¡ãããšã次ã®ããšãèµ·ãããŸãã
ã¹ã¯ãªããããã®ã¡ãã»ãŒãžã®åºå
ã³ãã³ãã䜿çšããŠèª¬æã¡ã¢ã衚瀺ã§ããããã«ãªããŸããã echo
ã Linux ããŒã«ã䜿çšããŠãã¡ã€ã«ãç·šéããæ¹æ³ãããããªãå ŽåããŸãã¯ã³ãã³ãããããŸã§èŠãããšããªãå Žå echo
ã ãèŠãŠã¿ãŸããã
å€æ°ã®äœ¿çš
å€æ°ã䜿çšãããšãä»ã®ã³ãã³ãã§äœ¿çšã§ããããã«ãã³ãã³ãã®çµæãªã©ã®æ å ±ãã¹ã¯ãªãã ãã¡ã€ã«ã«ä¿åã§ããŸãã
çµæãä¿åããã«åã ã®ã³ãã³ããå®è¡ããããšã«åé¡ã¯ãããŸãããããã®ã¢ãããŒãã®æ©èœã¯ããªãå¶éãããŠããŸãã
bash ã¹ã¯ãªããã§äœ¿çšã§ããå€æ°ã«ã¯ XNUMX çš®é¡ããããŸãã
- ç°å¢å€æ°
- ãŠãŒã¶ãŒå€æ°
ç°å¢å€æ°
å Žåã«ãã£ãŠã¯ãã·ã§ã« ã³ãã³ããäžéšã®ã·ã¹ãã ããŒã¿ãæäœããå¿ èŠãããããšããããŸãã çŸåšã®ãŠãŒã¶ãŒã®ããŒã ãã£ã¬ã¯ããªã衚瀺ããæ¹æ³ã®äŸã次ã«ç€ºããŸãã
#!/bin/bash
# display user home
echo "Home for the current user is: $HOME"
ã·ã¹ãã å€æ°ã䜿çšã§ããããšã«æ³šæããŠãã ããã $HOME
äºéåŒçšç¬Šã§å²ãã§ããã·ã¹ãã ã®èªèã劚ããããããšã¯ãããŸããã äžèšã®ã·ããªãªãå®è¡ãããšããããåŸãããŸãã
ã¹ã¯ãªããã§ã®ç°å¢å€æ°ã®äœ¿çš
ç»é¢ã«ãã«èšå·ã衚瀺ããå¿ èŠãããå Žåã¯ã©ãããã°ããã§ãããã? ãããè©ŠããŠã¿ãŸããã:
echo "I have $1 in my pocket"
ã·ã¹ãã ã¯åŒçšç¬Šã§å²ãŸããæååå
ã®ãã«èšå·ãæ€åºããå€æ°ãåç
§ããããšæ³å®ããŸãã ã¹ã¯ãªããã¯æªå®çŸ©ã®å€æ°ã®å€ã衚瀺ããããšããŸã $1
ã ããã¯ç§ãã¡ãå¿
èŠãšããŠãããã®ã§ã¯ãããŸããã äœããããïŒ
ãã®ç¶æ³ã§ã¯ããã«èšå·ã®åã«ãšã¹ã±ãŒãæåã§ããããã¯ã¹ã©ãã·ã¥ã䜿çšãããšå¹æçã§ãã
echo "I have $1 in my pocket"
ããã§ãã¹ã¯ãªããã¯æåŸ ã©ããã®å 容ãæ£ç¢ºã«åºåããããã«ãªããŸãã
ãšã¹ã±ãŒã ã·ãŒã±ã³ã¹ã䜿çšããŠãã«èšå·ãåºåãã
ãŠãŒã¶ãŒå€æ°
ç°å¢å€æ°ã«å ããŠãbash ã¹ã¯ãªããã§ã¯ãã¹ã¯ãªããå ã§ç¬èªã®å€æ°ãå®çŸ©ããŠäœ¿çšããããšãã§ããŸãã ãã®ãããªå€æ°ã¯ãã¹ã¯ãªããã®å®è¡ãå®äºãããŸã§å€ãä¿æããŸãã
ã·ã¹ãã å€æ°ãšåæ§ã«ããŠãŒã¶ãŒå€æ°ã«ã¯ãã«èšå·ã䜿çšããŠã¢ã¯ã»ã¹ã§ããŸãã
TNW-CUS-FMP - åœç€Ÿã®ãµãŒãã¹ã 10% å²åŒããããã¢ãŒã·ã§ã³ ã³ãŒã (7 æ¥ä»¥å
ã«ã¢ã¯ãã£ããŒã·ã§ã³å¯èœ)
#!/bin/bash
# testing variables
grade=5
person="Adam"
echo "$person is a good boy, he is in grade $grade"
ãã®ãããªã¹ã¯ãªãããå®è¡ãããšã次ã®ããã«ãªããŸãã
ã¹ã¯ãªããå
ã®ã«ã¹ã¿ã å€æ°
ã³ãã³ã眮æ
bash ã¹ã¯ãªããã®æã䟿å©ãªæ©èœã® XNUMX ã€ã¯ãã³ãã³ãåºåããæ å ±ãæœåºããŠå€æ°ã«å²ãåœãŠãæ©èœã§ããã®æ å ±ãã¹ã¯ãªãã ãã¡ã€ã«å ã®ä»»æã®å Žæã§äœ¿çšã§ããããã«ãªããŸãã
ããã¯XNUMXã€ã®æ¹æ³ã§è¡ãããšãã§ããŸãã
- ããã¯ãã£ãã¯ã`ãã䜿çšãã
- æå³çã«
$()
æåã®æ¹æ³ã䜿çšããå Žåã¯ãããã¯ãã£ãã¯ã®ä»£ããã«åäžåŒçšç¬Šãå«ããªãããã«æ³šæããŠãã ããã ã³ãã³ãã¯ã次㮠XNUMX ã€ã®ã¢ã€ã³ã³ã§å²ãå¿ èŠããããŸãã
mydir=`pwd`
XNUMX çªç®ã®ã¢ãããŒãã§ã¯ãåãããšã次ã®ããã«æžãããŸãã
mydir=$(pwd)
ãããŠãã¹ã¯ãªããã¯æ¬¡ã®ããã«ãªããŸãã
#!/bin/bash
mydir=$(pwd)
echo $mydir
åäœäžãã³ãã³ãã®åºå㯠pwd
å€æ°ã«ä¿åãããŸã mydir
ãã³ãã³ãã䜿çšããŠãã®å
容ã確èªããŸã echo
, ã³ã³ãœãŒã«ã«ç§»åããŸãã
ã³ãã³ãã®çµæãå€æ°ã«ä¿åããã¹ã¯ãªãã
æ°åŠçæŒç®
ã¹ã¯ãªãã ãã¡ã€ã«ã§æ°åŠçæŒç®ãå®è¡ããã«ã¯ã次ã®ãããªæ§æã䜿çšã§ããŸãã $((a+b))
:
#!/bin/bash
var1=$(( 5 + 5 ))
echo $var1
var2=$(( $var1 * 2 ))
echo $var2
ã¹ã¯ãªããå
ã®æ°åŠçæäœ
if-then å¶åŸ¡æ§é
äžéšã®ã·ããªãªã§ã¯ãã³ãã³ãå®è¡ã®ãããŒãå¶åŸ¡ããå¿
èŠããããŸãã ããšãã°ãç¹å®ã®å€ã XNUMX ãã倧ããå Žå㯠XNUMX ã€ã®ã¢ã¯ã·ã§ã³ãå®è¡ããå¿
èŠãããããã以å€ã®å Žåã¯å¥ã®ã¢ã¯ã·ã§ã³ãå®è¡ããå¿
èŠããããŸãã ããã¯å€ãã®ç¶æ³ã«é©çšã§ããããã§ã¯å¶åŸ¡æ§é ã圹ã«ç«ã¡ãŸãã if-then
ã æãåçŽãªåœ¢åŒã§ã¯æ¬¡ã®ããã«ãªããŸãã
if кПЌаМЎа
then
кПЌаМЎÑ
fi
以äžã«å®éã®äŸã瀺ããŸãã
#!/bin/bash
if pwd
then
echo "It works"
fi
ãã®å Žåãã³ãã³ããå®è¡ãããšã pwd
æ£åžžã«å®äºãããšããåäœããŸãããšããããã¹ããã³ã³ãœãŒã«ã«è¡šç€ºãããŸãã
ãããŸã§ã®ç¥èã掻çšããŠãããè€éãªã¹ã¯ãªãããäœæããŠã¿ãŸãããã ç¹å®ã®ãŠãŒã¶ãŒãæ€çŽ¢ããå¿
èŠããããšããŸãã /etc/passwd
ããããŠãããèŠã€ããããšãã§ããå Žåã¯ããããååšããããšãå ±åããŠãã ããã
#!/bin/bash
user=likegeeks
if grep $user /etc/passwd
then
echo "The user $user Exists"
fi
ãã®ã¹ã¯ãªãããå®è¡ãããšã次ã®ããã«ãªããŸãã
ãŠãŒã¶ãŒæ€çŽ¢
ããã§ã¯ã³ãã³ãã䜿çšããŸãã grep
ãã¡ã€ã«å
ã®ãŠãŒã¶ãŒãæ€çŽ¢ããã«ã¯ /etc/passwd
ã ããŒã ãªã grep
ãªãã¿ã®ãªããã®ã§ããããã®èª¬æãèŠã€ããããšãã§ããŸã
ãã®äŸã§ã¯ããŠãŒã¶ãŒãèŠã€ãããšãã¹ã¯ãªããã¯å¯Ÿå¿ããã¡ãã»ãŒãžã衚瀺ããŸãã ãŠãŒã¶ãŒãèŠã€ãããªãã£ããã©ããªãã§ãããã? ãã®å Žåãã¹ã¯ãªããã¯äœãéç¥ããã«å®è¡ãå®äºããŸãã ããã«ã€ããŠã圌ã«æããŠãããããã®ã§ãã³ãŒããæ¹åããŸãã
if-then-else å¶åŸ¡æ§é
ããã°ã©ã ãæ€çŽ¢ã®æåãšå€±æã®äž¡æ¹ã®çµæãå ±åã§ããããã«ããããã«ã次ã®æ§é ã䜿çšããŸãã if-then-else
ã ä»çµã¿ã¯æ¬¡ã®ãšããã§ãã
if кПЌаМЎа
then
кПЌаМЎÑ
else
кПЌаМЎÑ
fi
æåã®ã³ãã³ãããŒããè¿ããå Žåãã€ãŸãã³ãã³ããæ£åžžã«å®è¡ãããããšãæå³ããæ¡ä»¶ã¯ true ãšãªããåå²ã«æ²¿ã£ãŠå®è¡ã¯ç¶è¡ãããŸããã else
ã ãã以å€ã®å Žåã倱æãŸãã¯åœã®çµæã瀺ããŒã以å€ã®å€ãè¿ãããå Žåããã®åŸã®ã³ãã³ã㯠else
.
次ã®ã¹ã¯ãªãããæžããŠã¿ãŸãããã
#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
else
echo "The user $user doesnât exist"
fi
圌ã®åŠåã¯ç¡é§ã«ãªã£ã else
.
if-then-else æ§é ã䜿çšããã¹ã¯ãªããã®å®è¡
ããŠã次ã«é²ãã§ãããè€éãªæ¡ä»¶ã«ã€ããŠèããŠã¿ãŸãããã XNUMX ã€ã®æ¡ä»¶ã§ã¯ãªãè€æ°ã®æ¡ä»¶ããã§ãã¯ããå¿ èŠãããå Žåã¯ã©ãããã°ããã§ãããã? ããšãã°ãç®çã®ãŠãŒã¶ãŒãèŠã€ãã£ãå Žå㯠XNUMX ã€ã®ã¡ãã»ãŒãžã衚瀺ãããä»ã®æ¡ä»¶ãæºããããå Žåã¯å¥ã®ã¡ãã»ãŒãžã衚瀺ãããŸãã ãã®ãããªç¶æ³ã§ã¯ããã¹ããããæ¡ä»¶ã圹ã«ç«ã¡ãŸãã 次ã®ããã«ãªããŸãã
if кПЌаМЎа1
then
кПЌаМЎÑ
elif кПЌаМЎа2
then
кПЌаМЎÑ
fi
æåã®ã³ãã³ããå®è¡ã«æåããããšã瀺ããŒããè¿ããå Žåãæåã®ãããã¯å
ã®ã³ãã³ããå®è¡ãããŸãã then
ããã§ãªãå Žåãæåã®æ¡ä»¶ã false 㧠XNUMX çªç®ã®ã³ãã³ãã XNUMX ãè¿ããå Žåãã³ãŒãã® XNUMX çªç®ã®ãããã¯ãå®è¡ãããŸãã
#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
elif ls /home
then
echo "The user doesnât exist but anyway there is a directory under /home"
fi
ãã®ãããªã¹ã¯ãªããã§ã¯ãããšãã°ã次ã®ã³ãã³ãã䜿çšããŠæ°ãããŠãŒã¶ãŒãäœæã§ããŸãã useradd
ãæ€çŽ¢ã§çµæãåŸãããªãã£ãå ŽåããŸãã¯ä»ã®åœ¹ç«ã€ããšãå®è¡ããŸãã
æ°å€ã®æ¯èŒ
ã¹ã¯ãªããã§ã¯æ°å€ãæ¯èŒã§ããŸãã 以äžã¯é¢é£ããã³ãã³ãã®ãªã¹ãã§ãã
n1 -eq n2
次ã®å Žåã« true ãè¿ããŸãn1
çããn2
.
n1 -ge n2
次ã®å Žåã« true ãè¿ããŸãn1
ãã以äžãåçn2
.
n1 -gt n2
次ã®å Žåã« true ãè¿ããŸãn1
бПлÑÑеn2
.
n1 -le n2
次ã®å Žåã« true ãè¿ããŸãn1
ãã以äžãçããn2
.
n1 -lt n2
n1 ã以äžã®å Žåã« true ãè¿ããŸããn2
.
n1 -ne n2
次ã®å Žåã« true ãè¿ããŸãn1
çãããªãn2
.
äŸãšããŠãæ¯èŒæŒç®åã® XNUMX ã€ãè©ŠããŠã¿ãŸãããã åŒã¯è§æ¬åŒ§ã§å²ãŸããŠããããšã«æ³šæããŠãã ããã
#!/bin/bash
val1=6
if [ $val1 -gt 5 ]
then
echo "The test value $val1 is greater than 5"
else
echo "The test value $val1 is not greater than 5"
fi
ããããã®ã³ãã³ããåºåããå 容ã§ãã
ã¹ã¯ãªããå
ã®æ°å€ã®æ¯èŒ
å€æ°å€ val1
5 ãã倧ããå Žåããã©ã³ãã¯å®è¡ãããŠããŸããŸã then
æ¯èŒæŒç®åã衚瀺ããã察å¿ããã¡ãã»ãŒãžãã³ã³ãœãŒã«ã«è¡šç€ºãããŸãã
æååæ¯èŒ
ã¹ã¯ãªããã¯æååå€ãæ¯èŒããããšãã§ããŸãã æ¯èŒæŒç®åã¯éåžžã«åçŽã«èŠããŸãããæååæ¯èŒæŒç®ã«ã¯ç¹å®ã®æ©èœããããããã«ã€ããŠã¯åŸã§è§ŠããŸãã ãã¡ããæŒç®åã®äžèŠ§ã§ãã
str1 = str2
æååãçãããã©ããããã¹ãããæååãåäžã®å Žå㯠true ãè¿ããŸãã
str1 != str2
æååãåäžã§ãªãå Žå㯠true ãè¿ããŸãã
str1 < str2
次ã®å Žåã« true ãè¿ããŸãstr1
æªæºstr2
.
str1 > str2
次ã®å Žåã« true ãè¿ããŸãstr1
以äžstr2
.
-n str1
é·ãã®å Žå㯠true ãè¿ããŸãstr1
ãŒã以äžã®ã
-z str1
é·ãã®å Žå㯠true ãè¿ããŸãstr1
ãŒãã«çããã
ã¹ã¯ãªããå ã®æååãæ¯èŒããäŸã次ã«ç€ºããŸãã
#!/bin/bash
user ="likegeeks"
if [$user = $USER]
then
echo "The user $user is the current logged in user"
fi
ã¹ã¯ãªãããå®è¡ããçµæã次ã®çµæãåŸãããŸãã
ã¹ã¯ãªããå
ã®æååã®æ¯èŒ
ããã§ãèšåãã䟡å€ã®ããæååæ¯èŒã®æ©èœã XNUMX ã€çŽ¹ä»ããŸãã ã€ãŸããã>ãããã³ã<ãæŒç®åã¯ããã¯ã¹ã©ãã·ã¥ã§ãšã¹ã±ãŒãããå¿ èŠããããŸããããããªããšããšã©ãŒ ã¡ãã»ãŒãžã¯è¡šç€ºãããŸããããã¹ã¯ãªããã¯æ£ããåäœããŸããã ã¹ã¯ãªããã¯ãã>ãèšå·ãåºåãªãã€ã¬ã¯ã ã³ãã³ããšããŠè§£éããŸãã
ãããã®æŒç®åãã³ãŒãã§æäœãããšæ¬¡ã®ããã«ãªããŸãã
#!/bin/bash
val1=text
val2="another text"
if [ $val1 > $val2 ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi
ã¹ã¯ãªããã®çµæã¯æ¬¡ã®ãšããã§ãã
æååæ¯èŒãèŠåã衚瀺ããã
ã¹ã¯ãªããã¯å®è¡ãããŸãããèŠåãçºè¡ãããããšã«æ³šæããŠãã ããã
./myscript: line 5: [: too many arguments
ãã®èŠåãåãé€ãã«ã¯ã次ã®ããã«çµè«ä»ããŸãã $val2
äºéåŒçšç¬Šã§å²ã¿ãŸã:
#!/bin/bash
val1=text
val2="another text"
if [ $val1 > "$val2" ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi
ããã§ããã¹ãŠãæ£åžžã«æ©èœããŸãã
æååæ¯èŒ
ã>ãããã³ã<ãæŒç®åã®ãã XNUMX ã€ã®ç¹åŸŽã¯ã倧æåãšå°æåã®åŠçæ¹æ³ã§ãã ãã®æ©èœãç解ããããã«ã次ã®å 容ã®ããã¹ã ãã¡ã€ã«ãæºåããŠã¿ãŸãããã
Likegeeks
likegeeks
ååãä»ããŠä¿åããŸããã myfile
ãã¿ãŒããã«ã§æ¬¡ã®ã³ãã³ããå®è¡ããŸãã
sort myfile
次ã®ããã«ãã¡ã€ã«ã®è¡ã䞊ã¹æ¿ããŸãã
likegeeks
Likegeeks
ããŒã sort
ã¯ããã©ã«ãã§æååãæé ã«äžŠã¹æ¿ããŸããã€ãŸãããã®äŸã§ã¯å°æåã倧æåãããå°ãããªããŸãã 次ã«ãåãæååãæ¯èŒããã¹ã¯ãªãããæºåããŸãããã
#!/bin/bash
val1=Likegeeks
val2=likegeeks
if [ $val1 > $val2 ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi
ãããå®è¡ãããšããã¹ãŠãéã§ããããšãããããŸããå°æåã倧æåããã倧ãããªããŸããã
sort ã³ãã³ããšã¹ã¯ãªãã ãã¡ã€ã«å
ã®æååã®æ¯èŒ
æ¯èŒã³ãã³ãã§ã¯ã倧æåã¯å°æåãããå°ãããªããŸãã ããã§ã®æååæ¯èŒã¯ãæåã® ASCII ã³ãŒããæ¯èŒããããšã«ãã£ãŠè¡ãããããããœãŒãé åºã¯æåã³ãŒãã«äŸåããŸãã
ããŒã sort
ã§ã¯ãã·ã¹ãã èšèªèšå®ã§æå®ããã䞊ã¹æ¿ãé åºã䜿çšãããŸãã
ãã¡ã€ã«ãã§ãã¯
ããããã次ã®ã³ãã³ãã bash ã¹ã¯ãªããã§æãé »ç¹ã«äœ¿çšãããŸãã ãã¡ã€ã«ã«é¢ããããŸããŸãªæ¡ä»¶ã確èªã§ããŸãã ãããã®ã³ãã³ãã®ãªã¹ãã次ã«ç€ºããŸãã
-d file
ãã¡ã€ã«ãååšãããã£ã¬ã¯ããªã§ãããã©ããã確èªããŸãã
-e file
ãã¡ã€ã«ãååšãããã©ããã確èªããŸãã
-f file
ãã¡ã€ã«ãååšãããã©ããããã¡ã€ã«ã§ãããã©ããã確èªããŸãã
-r file
ãã¡ã€ã«ãååšããèªã¿åãå¯èœã§ãããã©ããã確èªããŸãã
-s file Ð
ãã¡ã€ã«ãååšãã空ã§ãªããã©ããã確èªããŸãã
-w file
ãã¡ã€ã«ãååšããæžã蟌ã¿å¯èœãã©ããã確èªããŸãã
-x file
ãã¡ã€ã«ãååšããå®è¡å¯èœã§ãããã©ããã確èªããŸãã
file1 -nt file2
æ°ãããã©ããã確èªããŸãfile1
ããfile2
.
file1 -ot file2
å€ããã©ããã確èªããŸãfile1
ããfile2
.
-O file
ãã¡ã€ã«ãååšããçŸåšã®ãŠãŒã¶ãŒãææããŠãããã©ããã確èªããŸãã
-G file
ãã¡ã€ã«ãååšãããã©ãããããã³ãã®ã°ã«ãŒã ID ãçŸåšã®ãŠãŒã¶ãŒã®ã°ã«ãŒã ID ãšäžèŽãããã©ããã確èªããŸãã
ãããã®ã³ãã³ãã¯ãä»æ¥èª¬æããä»ã®å€ãã®ã³ãã³ããšåæ§ã«ãèŠãããããã®ã§ãã ãããã®ååã¯ãããŸããŸãªåèªã®çç¥åœ¢ã§ãããå®è¡ãããã§ãã¯ãçŽæ¥ç€ºããŠããŸãã
å®éã«ã³ãã³ãã® XNUMX ã€ãè©ŠããŠã¿ãŸãããã
#!/bin/bash
mydir=/home/likegeeks
if [ -d $mydir ]
then
echo "The $mydir directory exists"
cd $ mydir
ls
else
echo "The $mydir directory does not exist"
fi
ãã®ã¹ã¯ãªããã¯ãæ¢åã®ãã£ã¬ã¯ããªã«å¯ŸããŠãã®å 容ã衚瀺ããŸãã
ãã£ã¬ã¯ããªã®å
容ãäžèŠ§è¡šç€ºãã
æ®ãã®ã³ãã³ãã¯ãã¹ãŠåãååã«åŸã£ãŠäœ¿çšãããããããèªèº«ã§è©ŠããŠããã ãããšæããŸãã
çµæ
ä»æ¥ã¯ãbash ã¹ã¯ãªããã®äœæãéå§ããæ¹æ³ã«ã€ããŠèª¬æããããã€ãã®åºæ¬çãªäºé ã«ã€ããŠèª¬æããŸããã å®éãbash ããã°ã©ãã³ã°ã®ãããã¯ã¯éåžžã«å€§ããªãã®ã«ãªã£ãŠããŸãã ãã®èšäºã¯ã11 ã®è³æãããªã倧èŠæš¡ãªã·ãªãŒãºã®æåã®éšåã®ç¿»èš³ã§ãã ä»ããç¶è¡ãããå Žåã¯ããããã®è³æã®ãªãªãžãã«ã®ãªã¹ãã次ã«ç€ºããŸãã 䟿å®äžãä»èªãã 翻蚳ãããã«æ²èŒããŸãã
Bash ã¹ã¯ãªããã®ã¹ããããã€ã¹ããã â ããã§ã¯ãbash ã¹ã¯ãªããã®äœæãéå§ããæ¹æ³ãå€æ°ã®äœ¿çšæ¹æ³ãæ¡ä»¶æ§é ãèšç®ãæ°å€ãæååã®æ¯èŒããã¡ã€ã«ã«é¢ããæ å ±ã®æ€çŽ¢ã«ã€ããŠèª¬æããŸããBash ã¹ã¯ãªãã ããŒã 2ãçŽ æŽããã Bash â ããã§ã¯ãfor ã«ãŒããš while ã«ãŒãã䜿çšããæ©èœãæããã«ãªããŸããBash ã¹ã¯ãªãã ããŒã 3ããã©ã¡ãŒã¿ãšãªãã·ã§ã³ â ãã®è³æã¯ããŠãŒã¶ãŒãå ¥åããããŒã¿ããã¡ã€ã«ããèªã¿åãããšãã§ããããŒã¿ãåŠçãããã¹ã¯ãªããã«æž¡ãããšãã§ããã³ãã³ã ã©ã€ã³ ãã©ã¡ãŒã¿ãŒãšããŒã«ç¹åããŠããŸããBash ã¹ã¯ãªãã ããŒã 4ãå ¥åãšåºå - ããã§ã¯ããã¡ã€ã«èšè¿°åãšãã®æäœãå ¥åãåºåããšã©ãŒ ã¹ããªãŒã ãããã³åºåãªãã€ã¬ã¯ãã«ã€ããŠèª¬æããŸããBash ã¹ã¯ãªãã ããŒã 5ãã·ã¬ãŒã«ãšãžã§ã â ãã®è³æã¯ãLinux ã·ã°ãã«ãã¹ã¯ãªããã§ã®ãã®åŠçãããã³ã¹ã±ãžã¥ãŒã«ã«åºã¥ããã¹ã¯ãªããã®èµ·åã«ç¹åããŠããŸããBash ã¹ã¯ãªãã ããŒã 6ãé¢æ° â ããã§ã¯ãã¹ã¯ãªããã§ã®é¢æ°ã®äœæãšäœ¿çšãããã³ã©ã€ãã©ãªã®éçºã«ã€ããŠåŠã¶ããšãã§ããŸããBash ã¹ã¯ãªãã ããŒã 7ãsed ã®äœ¿çš â ãã®èšäºã¯ãsed ã¹ããªãŒãã³ã° ããã¹ã ãšãã£ã¿ãŒã®æäœã«ç¹åããŠããŸããBash ã¹ã¯ãªãã ããŒã 8ãawk ã®äœ¿çš â ãã®è³æã¯ãawk ããŒã¿åŠçèšèªã§ã®ããã°ã©ãã³ã°ã«ç¹åããŠããŸããBash ã¹ã¯ãªãã ããŒã 9ãæ£èŠè¡šçŸ â ããã§ã¯ãbash ã¹ã¯ãªããã§ã®æ£èŠè¡šçŸã®äœ¿çšã«ã€ããŠèªãããšãã§ããŸããBash ã¹ã¯ãªãã ããŒã 10ãå®è·µäŸ â ããã§ã¯ããŠãŒã¶ãŒã«éä¿¡ã§ããã¡ãã»ãŒãžãæäœããããã®ãã¯ããã¯ãšããã£ã¹ã¯ãç£èŠããããã®æ¹æ³ã玹ä»ããŸããBash ã¹ã¯ãªãã ããŒã 11ãExpect ã³ãã³ã â ãã®è³æã¯ã察話åãŠãŒãã£ãªãã£ãšã®å¯Ÿè©±ãèªååã§ãã Expect ããŒã«å°çšã§ãã ç¹ã«ãæåŸ ã¹ã¯ãªãããšããããã® bash ã¹ã¯ãªãããä»ã®ããã°ã©ã ãšã®çžäºäœçšã«ã€ããŠè©±ããŸãã
ãã®ã·ãªãŒãºã®èšäºã®è²Žéãªç¹åŸŽã® XNUMX ã€ã¯ãããããã¬ãã«ã®ãŠãŒã¶ãŒã«é©ããæãåçŽãªãã®ããå§ããŠãåŸã ã«éåžžã«æ·±å»ãªãããã¯ã«ã€ãªããã誰ãã Linux ã³ãã³ã ã©ã€ã³ ã¹ã¯ãªããã®äœæãé²ããæ©äŒãæäŸã§ããããšã§ãããšèããŠããŸãã ã
芪æãªãèªè ã®çæ§ïŒ ç§ãã¡ã¯ãbash ããã°ã©ãã³ã°ã®é人ãã¡ã«ãã©ã®ããã«ããŠçç·Žã®é«ã¿ã«å°éããã®ãããã®ç§å¯ãå ±æããŠããããŸãããŸããåããŠã¹ã¯ãªãããæžããã°ããã®äººãã¡ããã®ææ³ããåŸ ã¡ããŠããŸãã
ç»é²ãŠãŒã¶ãŒã®ã¿ãã¢ã³ã±ãŒãã«åå ã§ããŸãã
äžé£ã®èšäºã®æ®ãã翻蚳ããå¿ èŠããããŸãã?
-
ããïŒ
-
ããããå¿ èŠãããŸãã
1030 人ã®ãŠãŒã¶ãŒãæ祚ããŸããã 106åã®ãŠãŒã¶ãŒãæ£æš©ããã
åºæïŒ habr.com