5 개의 Shell 스 크 립 트 프로 그래 밍 입문 연습 예
#!/bin/bash
MAX_NO=0
echo -n "Enter Number between (5 to 9) : "
read MAX_NO
if ! [ $MAX_NO -ge 5 -a $MAX_NO -le 9 ] ; then
echo "WTF... I ask to enter number between 5 and 9, Try Again"
exit 1
fi
clear
for (( i=1; i=i; s-- ))
do
echo -n " "
done
for (( j=1; j=1; i-- ))
do
for (( s=i; s<=MAX_NO; s++ ))
do
echo -n " "
done
for (( j=1; j<=i; j++ ))
do
echo -n " ."
done
echo ""
done
echo -e "
\t\t\t Whenever you need help, Tecmint.com is always there"
당신 은 상기 예 에서'키워드'에 시 달리 지 않 을 것 입 니 다.많은 것 이 익숙 하거나 그들의 이름 에서 그들의 뜻 을 추측 할 수 있 습 니 다.예 를 들 어'max'는 특정한 변수의 최대 치 를 설정 하고'for'는 순환 입 니 다.출력 결과:
[root@tecmint ~]# chmod 755 Special_Pattern.sh
[root@tecmint ~]# ./Special_Pattern.sh
Enter Number between (5 to 9) : 6
.
. .
. . .
. . . .
. . . . .
. . . . . .
. . . . . .
. . . . .
. . . .
. . .
. .
.
Whenever you need help, Tecmint.com is always there
다른 언어의 프로 그래 밍 기반 이 있다 면 위의 스 크 립 트 를 배 우 는 것 은 쉬 울 것 입 니 다.설령 네가 컴퓨터 방면 의 신출내기 라 하 더 라 도 이 학습 과정 은 그리 어렵 지 않 을 것 이다.예 2:알록달록 한 각본
Linux 터미널 도 다양한 색상 을 지원 합 니 다.아래 스 크 립 트 를 보십시오.
#!/bin/bash
clear
echo -e "\033[1m Hello World"
# bold effect
echo -e "\033[5m Blink"
# blink effect
echo -e "\033[0m Hello World"
# back to noraml
echo -e "\033[31m Hello World"
# Red color
echo -e "\033[32m Hello World"
# Green color
echo -e "\033[33m Hello World"
# See remaing on screen
echo -e "\033[34m Hello World"
echo -e "\033[35m Hello World"
echo -e "\033[36m Hello World"
echo -e -n "\033[0m"
# back to noraml
echo -e "\033[41m Hello World"
echo -e "\033[42m Hello World"
echo -e "\033[43m Hello World"
echo -e "\033[44m Hello World"
echo -e "\033[45m Hello World"
echo -e "\033[46m Hello World"
echo -e "\033[0m Hello World"
출력 결과:너 는 위의 열 에 대해 하 나 를 들 고 셋 을 반대로 해서 그것 을 너의 대본 에 사용 할 수 있다.
예 3:암호 화 파일/디 렉 터 리
다음 예 는 파일 이나 폴 더 를 암호 화 하 는 방법 을 보 여 줍 니 다.현재 이 버 전의 스 크 립 트 는 암호 화 할 파일/디 렉 터 리 를 같은 폴 더 아래 에 두 어야 하 는 등 한계 가 있 습 니 다.또한'pinentry-gui'를 설치 해 야 할 수도 있 습 니 다.Fedora 에"pinentry-gui"를 설치 하 라 는 명령 은:
[root@midstage ~]# yum install pinentry-gui
Ubuntu/Debian 에"pinentry-gui"를 설치 하 라 는 명령 은:[root@midstage ~]# apt-get install pinentry-gui
다음 코드 를 복사 하 는 스 크 립 트"Encrypt.sh"를 만 듭 니 다.너 도 여기에서 이 스 크 립 트 를 다운로드 할 수 있다.
#!/bin/bash
echo "Welcome, I am ready to encrypt a file/folder for you"
echo "currently I have a limitation, Place me to the same folder,
where a file to be encrypted is present"
echo "Enter the Exact File Name with extension"
read file;
gpg -c $file
echo "I have encrypted the file sucessfully..."
echo "Now I will be removing the original file"
rm -rf $file
출력 결과:
[root@tecmint ~]# chmod 755 Encrypt.sh
[root@tecmint ~]# ./Encrypt.sh
Welcome, I am ready to encrypt a file/folder for you
currently I have a limitation, Place me to the same folder,
where a file to be encrypted is present
Enter the Exact File Name with extension
package.xml
Enter passphrase
Passphrase _________________________________
Please re-enter this passphrase
Passphrase _________________________________
I have encrypted the file successfully...
Now I will be removing the original file
코드 설명:gpg-c:이 명령 은 aka 를 사용 하여 파일 을 암호 화 합 니 다.필요 할 때 암호 화 된 파일 을 복호화 해 야 합 니 다.여기 서 우 리 는 구체 적 인 코드 를 제시 하지 않 으 니,너 는 스스로 써 보아 도 된다.알림:명령 gpg-d filename.gpg>filename 을 사용 하면 파일 을 복호화 할 수 있 습 니 다.
예 4:서버 이 용 률 보기
서버 의 이 용 률 을 보 는 것 은 관리자 의 중요 한 일상 업무 이다.똑똑 한 관리 자 는 이 임무 가 어떻게 자동화 되 는 지 안다.아래 의 이 스 크 립 트 는 서버 의 많은 정 보 를 캡 처 할 것 입 니 다.어서 해 보 세 요!
#!/bin/bash
date;
echo "uptime:"
uptime
echo "Currently connected:"
w
echo "--------------------"
echo "Last logins:"
last -a |head -3
echo "--------------------"
echo "Disk and memory usage:"
df -h | xargs | awk '{print "Free/total disk: " $11 " / " $9}'
free -m | xargs | awk '{print "Free/total memory: " $17 " / " $8 " MB"}'
echo "--------------------"
start_log=`head -1 /var/log/messages |cut -c 1-12`
oom=`grep -ci kill /var/log/messages`
echo -n "OOM errors since $start_log :" $oom
echo ""
echo "--------------------"
echo "Utilization and most expensive processes:"
top -b |head -3
echo
top -b |head -10 |tail -4
echo "--------------------"
echo "Open TCP ports:"
nmap -p- -T4 127.0.0.1
echo "--------------------"
echo "Current connections:"
ss -s
echo "--------------------"
echo "processes:"
ps auxf --width=200
echo "--------------------"
echo "vmstat:"
vmstat 1 5
출력 결과:
[root@tecmint ~]# chmod 755 Server-Health.sh
[root@tecmint ~]# ./Server-Health.sh
Tue Jul 16 22:01:06 IST 2013
uptime:
22:01:06 up 174 days, 4:42, 1 user, load average: 0.36, 0.25, 0.18
Currently connected:
22:01:06 up 174 days, 4:42, 1 user, load average: 0.36, 0.25, 0.18
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
tecmint pts/0 116.72.134.162 21:48 0.00s 0.03s 0.03s sshd: tecmint [priv]
--------------------
Last logins:
tecmint pts/0 Tue Jul 16 21:48 still logged in 116.72.134.162
tecmint pts/0 Tue Jul 16 21:24 - 21:43 (00:19) 116.72.134.162
--------------------
Disk and memory usage:
Free/total disk: 292G / 457G
Free/total memory: 3510 / 3838 MB
--------------------
OOM errors since Jul 14 03:37 : 0
--------------------
Utilization and most expensive processes:
top - 22:01:07 up 174 days, 4:42, 1 user, load average: 0.36, 0.25, 0.18
Tasks: 149 total, 1 running, 148 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.1%us, 0.0%sy, 0.0%ni, 99.3%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 3788 1128 932 S 0.0 0.0 0:32.94 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:14.07 migration/0
예 5:하드디스크 사용 현황 보기 및 알림 메 일 발송아래 의 이 예 는 하 드 디스크 의 사용 공간 이 예상 한 값 을 초과 할 때 스 크 립 트 를 통 해 알림 메 일 을 보 내 는 것 을 보 여 줍 니 다.
MAX=95
[email protected]
PART=sda1
USE=`df -h |grep $PART | awk '{ print $5 }' | cut -d'%' -f1`
if [ $USE -gt $MAX ]; then
echo "Percent used: $USE" | mail -s "Running out of disk space" $EMAIL
fi
설명:위 스 크 립 트 의"USER"를 사용자 이름 으로 바 꿉 니 다."mail"명령 을 통 해 메 일 을 볼 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Shell alias 명령에 별칭을 설정하는 방법명령에 별명을 설정하면 명령의'작은 이름'으로 삼을 수 있지만, 이렇게 하는 것이 무슨 의미가 있습니까? 이때 별명이 작용할 수 있다.vim 명령의 별명을vi라고 정의하면 이후에 실행된vi 명령은 실제로vim 명령을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.