Linux 학습 작업 - 휴지통 설정
만족 이 필요 한 요구
먼저 스 크 립 트 삭제 생각 – my rm. sh 의 제작
#!/bin/bash
# mkdir
mkdir /my_backup
# mv
# $* ,
mv $* /my_backup
# ls
ls /my_backup
이 곳 은 mkdir 문 구 는 이미 이 폴 더 가 있 는 상황 에서 불필요 하 다 는 것 을 고려 하여 위의 코드 를 개량 하고 싶 습 니 다. 폴 더 가 이미 존재 하 는 상황 에서 mkdir 문 구 를 사용 하지 않 으 면 어떻게 합 니까?(묻 지 마 세 요. 처녀자리 라 고 물 어보 세 요) 이 럴 때 test 방법 으로 파일 이 존재 하 는 지 테스트 할 수 있 습 니 다. test 문 구 를 간단하게 보충 할 수 있 습 니 다.
test -d /bin/lianxi # bin lianxi
[ -d /bin/lianxi ] # ,
test -f /etc/passwd # etc passwd
[ -f /etc/passwd ] #
상기 문장 으로 판단 하면 반환 값 ($?) 이 0 일 때 이 파일/폴 더 가 존재 한 다 는 것 을 증명 하고, 다른 상황 은 이 파일/폴 더 가 존재 하지 않 는 다 는 것 을 설명 합 니 다.
따라서 이 문장 에 if - then - else - fi 의 프로 세 스 제어 문장 을 더 하면 코드 개량 을 완성 할 수 있다.
#!/bin/bash
if [ -d /my_backup ] # , /my_backup mkdir , !
then
mv $* /my_backup
ls /my_backup
else
mkdir /my_backup
mv $* /my_backup
ls /my_backup
fi
그리고 복구 스 크 립 트 를 생각 하기 시작 합 니 다 – myback. sh 의 제작
ok, 생각 한 후에 실천 을 시작 합 니 다. 먼저 위의 삭제 스 크 립 트 – my rm. sh 를 수정 하고 로그 에 저 장 된 문 구 를 추가 합 니 다.
#!/bin/bash
if [ ! -d /my_backup ] # !
then
mkdir /my_backup
touch /my_backup/logging.txt
else
touch /my_backup/logging.txt
fi
# for ,
for temp in $*
do
a=$(find / -name $temp)
echo $temp $a >> /my_backup/logging.txt
done
# mv ,
mv $* /my_backup
ls /my_backup
복구 스 크 립 트 쓰기 시작
#!/bin/bash
# for ,
for temp in $*
do
a_path=$(cat /my_backup/logging.txt|grep $temp|awk '{print $2}')
a_num=$(cat /my_backup/logging.txt|grep -n $temp|awk -F':' '{print $1}')
mv /my_backup/$temp $a_path
sed -i "${a_num}d" /my_backup/logging.txt
done
마찬가지 로 이 간이 휴지통 에는 다음 과 같은 문제 가 존재 한다.
지금 이런 문제 가 존재 하 죠? 뒤의 학습 과정 에서 개선 을 시도 할 수 있 습 니 다. 더 좋 은 생각 이 있 으 면 함께 교류 할 수 있 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
바이너리 파일cat 또는tail, 터미널 디코딩 시 처리 방법cat으로 바이너리 파일을 보려고 할 때 코드가 엉망이 되어 식은땀이 났다. 웹에서 스크롤된 정보의 처리 방법과alias의 설정을 요약합니다. reset 명령을 사용하여 터미널을 재설정합니다.이렇게 하면 고치지 못하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.