링크 ux 운영 실전 연습 - 2015 년 9 월 13 일 - 9 월 15 일 과정 작업
1. 셸 프로그램의 운행 원 리 를 설명 합 니 다 (필요 한 도형 설명 을 첨부 할 수 있 습 니 다).
2. 셸 프로 그래 밍 에 관련 된 모든 지식 점 (예 를 들 어 변수, 문법, 명령 상태 등) 을 정리 하고 그림 을 가 져 가 야 합 니 다.
3. 과정 에서 말 한 모든 순환 문, 조건 판단 의 사용 방법 과 관련 된 예 를 정리한다.(if (jpg|png is not exist);echo ”You say a XX“)
4. 텍스트 처리 도구 sed 및 awk 의 용법 을 정리 합 니 다. (예시 가 있어 야 합 니 다)
5. 스 크 립 트 쓰기: 경로 가 존재 하지 않 으 면 디 렉 터 리 로 만 듭 니 다. 그렇지 않 으 면 존재 하 는 것 을 표시 하고 내용 형식 을 표시 합 니 다. (의심 하지 마 세 요. 이렇게 간단 합 니 다)
#/bin/bash
#Program:
# : , ; ,
# roger 20150920
read -p " :" dir
[ -z "$dir" ] && echo " " && exit 0
if (ls "$dir" &> /dev/null ); then
fileType=$(file "$dir")
echo "$dir :$fileType"
else
mkdir -p $dir
echo "$dir , $dir"
fi
6. 스 크 립 트 를 작성 하여 다음 과 같은 기능 을 완성 합 니 다. 주어진 두 가지 수치, 어느 것 이 크 고 어느 것 이 작은 지 판단 합 니 다. 주어진 수치 방법: 스 크 립 트 파라미터, 명령 상호작용; (read 를 사용 하면 여전히 간단 합 니 다)
#/bin/bash
#Progrom:
# , ; :
# roger 20150920
[ -z $1 ] && [ -z $2 ]&& echo " > {CompareNum.sh num1 num2 }" && exit 0
#
num1=$(echo $1 | grep '^[0-9]\+$')
num2=$(echo $2 | grep '^[0-9]\+$')
[ -z $num1 ] && echo "$1 " && exit 0
[ -z $num2 ] && echo "$2 " && exit 0
#
[ $1 -lt $2 ] && echo "$1 < $2 " && exit 0
[ $1 -gt $2 ] && echo "$1 > $2 " && exit 0
[ $1 -eq $2 ] && echo "$1 = $2 " && exit 0
#/bin/bash
#Progrom
# , ; :
# roger 20150920
#
read -p " :" num1 num2
[ -z $num1 ] && [ -z $num2 ]&& echo " !! " && exit 0
#
testnum1=$(echo $num1 | grep '^[0-9]\+$')
testnum2=$(echo $num2 | grep '^[0-9]\+$')
[ -z $testnum1 ] && echo "$num1 " && exit 0
[ -z $testnum2 ] && echo "$num2 " && exit 0
#
[ $num1 -lt $num2 ] && echo "$num1 < $num2 " && exit 0
[ $num1 -gt $num2 ] && echo "$num1 > $num2 " && exit 0
[ $num1 -eq $num2 ] && echo "$num1 = $num2 " && exit 0
7. 100 이내 의 모든 홀수 의 합 을 구 합 니 다 (적어도 3 가지 방법 을 사용 합 니 다. 예, 이것 은 우리 의 숙제 입 니 다 ^ ^)
#!/bin/bash
# Program:
# 100
# roger 20150920
PATH=/bin:/sbin/:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
echo " "
echo "1 i=1 i+=2 ;for "
echo "2 i%2!=0 ;for "
echo "3 while "
read -p " (ex. 1):" method
sum=0
i=1
case $method in
"1")
for i in $(seq 1 2 100)
do
sum=$[$sum + $i]
done
;;
"2")
for i in {1..100}
do
if [ $(($i%2)) != "0" ]; then
sum=$[$sum + $i]
fi
done
;;
"3")
while [ "$i" -le "100" ]
do
sum=$[$sum + $i]
i=$(($i+2))
done
;;
*)
echo " ! 1 / 2 / 3"
exit 0;
esac
#
echo "1+3+5+...+97+99 sum= $sum"
8. 스 크 립 트 를 작성 하여 다음 과 같은 기능 을 수행 합 니 다.
(1) 스 크 립 트 에 두 텍스트 파일 경 로 를 전달 합 니 다.
(2) 두 파일 중 공백 줄 수가 많은 파일 과 공백 줄 의 개 수 를 표시 합 니 다.
(3) 두 파일 중 총 줄 수가 많은 파일 과 총 줄 수 를 표시 합 니 다.
#!/bin/bash
# Program:
# :
# (1) ;
# (2) ;
# (3) ;
PATH=/bin:/sbin/:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
#
read -p " " txtPath1 txtPath2
# check
[ ! -f $txtPath1 ] && echo " " && exit 0
[ ! -f $txtPath2 ] && echo " " && exit 0
# ;
##
spLines1=$( grep '^$' $txtPath1 | wc -l )
spLines2=$( grep '^$' $txtPath2 | wc -l )
##
if [ $spLines1 -lt $spLines2 ]; then
echo -e " : $txtPath2
: $spLines2 "
elif [ $spLines1 -gt $spLines2 ]; then
echo -e " : $txtPath1
: $spLines1 "
else
echo -e " $txtPath1 $txtPath2 , : $spLines1 "
fi
# ;
##
sumLines1=$( wc -l $txtPath1 | cut -d ' ' -f1 )
sumLines2=$( wc -l $txtPath2 | cut -d ' ' -f1 )
##
if [ "$sumLines1" -lt "$sumLines2" ]; then
echo -e " : $txtPath2
: $sumLines2 "
elif [ "$sumLines1" -gt "$sumLines2" ]; then
echo -e " : $txtPath1
: $sumLines1 "
else
echo -e " $txtPath1 $txtPath2 , : $sumLines1 "
fi
9. 대본 쓰기
(1) 사용자 에 게 문자열 을 입력 하 라 고 알려 줍 니 다.
(2) 판단:
quit 를 입력 하면 스 크 립 트 를 종료 합 니 다.
그렇지 않 으 면 입력 한 문자열 의 내용 을 표시 합 니 다.
#!/bin/bash
# Program:
#
# (1) ;
# (2) :
# quit, ;
# , ;
#
# roger 20150920
PATH=/bin:/sbin/:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
read -p " :" str
[ -z $str ] && echo " " && exit 0
if [ $str = "quit" ]; then
exit 0
else
echo " :"$str" "
fi
10. 스 크 립 트 를 작성 하고 2 ^ n 표를 인쇄 합 니 다. n 은 사용자 가 입력 한 값 과 같 습 니 다. (죄송합니다. 장 난 스 럽 습 니 다)
#!/bin/bash
# Program:
# 2^n ;n ;
#
# roger 20150920
PATH=/bin:/sbin/:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
read -p " :" n
num=$( echo $n | grep '^[0-9]\+$')
[ -z $num ] && echo " " && exit 0
i=0
while [ $i -le $n ]
do
echo "2^$i=$((2**$i))"
let i++
done
11. 스 크 립 트 를 작성 하고 이렇게 몇 가지 함 수 를 씁 니 다. 함수 1, 주어진 두 수치의 합 을 실현 합 니 다. 함수 2, 주어진 두 수치의 최대 공약수, 함수 3, 주어진 두 수치의 최소 공배수, 함수 에 대한 선택, 두 수치의 크기 는 모두 상호작용 입력 을 통 해 제 공 됩 니 다.
#!/bin/bash
# Program:
# , :
# 1、 ;
# 2、 ;
# 3、 ;
# 、 。
# roger 20150920
PATH=/bin:/sbin/:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
echo " :"
echo "1 "
echo "2 "
echo "3 "
# read , $1 $2 , ,
#read -p " : " num1 num2
####
###[ -z $1 ] && [ -z $2 ]&& echo " " && exit 0
####
##num1=$(echo $1 | grep '^[0-9]\+$')
##num2=$(echo $2 | grep '^[0-9]\+$')
##[ -z $num1 ] && echo "$1 " && exit 0
##[ -z $num2 ] && echo "$2 " && exit 0
# :
read -p " : " n1 n2
#
[ -z $n1 ] && [ -z $n2 ]&& echo " " && exit 0
#
num1=$(echo $n1 | grep '^[0-9]\+$')
num2=$(echo $n2 | grep '^[0-9]\+$')
[ -z $num1 ] && echo "$n1 " && exit 0
[ -z $num2 ] && echo "$n2 " && exit 0
read -p " (ex. 1):" method
declare -i resultSum=0 #
declare -i resultGcd=0 #
declare -i resultLcm=0 #
#
function sum() {
resultSum=$(($1+$2))
}
#
function gcd() {
a=$1
b=$2
if [ $1 -lt $2 ]; then
c=$a
a=$b
b=$c
fi
while [ "$b" != 0 ]
do
c=$[ $a%$b ]
a=$b
b=$c
done
resultGcd=$a
}
#
function lcm(){
lcma=$[ $1*$2 ]
gcd $1 $2
lcmb=$resultGcd
resultLcm=$[ $lcma/$lcmb ]
}
case $method in
"1")
sum $num1 $num2
echo " :$num1 + $num2 = $resultSum"
;;
"2")
gcd $num1 $num2
echo "$num1" "$num2" :"$resultGcd"
;;
"3")
lcm $num1 $num2
echo "$num1" "$num2" :"$resultLcm"
;;
*)
echo " , 1 2 3 "
exit 0
esac
만약 잘못 이 있 으 면 지적 하여 바로잡아 주 십시오!
감사합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.