Linux - shell 의 경험 총화 - 1
질문
(사용자 로그 인 셸 환경 프로 세 스 는 자체 적 으로 자세히 볼 수 있 습 니 다)
]#source /etc/profile
]#source /etc/profile.d/* #
]#source ~/.bash_profile
셸 에서 script 을 실행 하 는 방식
[1] source 또는. 방식 으로 스 크 립 트 를 실행 합 니 다. 스 크 립 트 는 실행 가능 한 권한 이 필요 없습니다.현재 로그 인 셸 환경 에서 명령 을 실행 하 는 것 과 같 습 니 다. 하위 셸 이 아 닙 니 다.
]# source example.sh
]# . exaple.sh
[2] sh 또는 bash 방식 으로 스 크 립 트 를 실행 합 니 다. 스 크 립 트 는 실행 권한 이 필요 없습니다.하위 셸 방식 으로 스 크 립 트 내용 을 실행 하고 하나의 프로 세 스 를 실행 합 니 다.
]# sh example.sh
]# bash example.sh
[3] 경 로 를 실행 하 는 방식 은 bash 방식 을 실행 하 는 것 과 같다.스 크 립 트 는 실행 가능 한 권한 이 필요 합 니 다.
]# ./mytemp/example.sh
export 명령 - 스 크 립 트 실행 결과 의 출력 과 참조
환경 변 수 를 정의 하 는 데 자주 사용
]# cat a.sh
export JAVA_HOME=/usr/local/java
export HADOOP_HOME=/usr/local/hadoop
function example{
echo "Hellow World"
}
export -f example
]# source a.sh
]# echo $JAVA_HOME
]# /usr/local/java
]# example
]# Hellow World
[root@localhost ~]# export -p
declare -x CVS_RSH="ssh"
declare -x G_BROKEN_FILENAMES="1"
declare -x HISTSIZE="1000"
...
매개 변수 설명
- f 는 [변수 이름] 의 함수 이름 을 대표 합 니 다.
- n 지정 한 변 수 를 삭제 합 니 다.변 수 는 실제로 삭제 되 지 않 았 고 후속 명령 의 실행 환경 에 출력 되 지 않 았 습 니 다.
- p 모든 셸 이 프로그램 에 부여 한 환경 변 수 를 보 여 줍 니 다.
셸 스 크 립 트 에 다른 스 크 립 트 도입
source 방식 은 위 에서 설명 한 source 와 같이 현재 환경 에서 script 을 실행 하 는 것 과 같 습 니 다. 하위 셸 을 여 는 것 이 아 닙 니 다.
exec 방식: 스 크 립 트 가 exec 로 실행 되 고 하위 스 크 립 트 내용 에 들 어 갑 니 다. 하위 셸 을 여 는 것 이 아니 라 후속 부모 스 크 립 트 가 실 행 될 수 없습니다.
#!/bin/bash
echo "Hellw"
exec a.sh
echo "World"
fork 방식 은 위의 경로 에서 스 크 립 트 를 실행 하 는 방식 입 니 다. 상대 적 인 경로 일 수도 있 고 절대적 인 경로 일 수도 있 습 니 다. 하위 셸 을 열 어 실행 하면 하위 셸 은 export 변 수 를 계승 할 수 있 습 니 다.
cd /opt
./zookeeper_env.sh
echo "Hellow world"
셸 동적 생 성 배열
seq 생 성 배열
]# seq 5 10
]# $a = 1 ; $b = 10
]# seq $a $b
{...} 방식 으로 배열 생 성
for i in {5..10}
do
echo $i
done
#
for i in {a..z}
do
echo $i
done
#eval python eval() 。
]# a=1;b=10
for i `eval echo {$a..$b}`
do
echo $i
done
파일 줄 당 내용 순환
#
while read -r line
do
echo $line
done < a.txt
#
for line in `cat a.txt`
do
echo $line
done
스 크 립 트 의 신 호 량 처리
kill 과 신 호 량 trap
스 크 립 트 의 LOCKFILE
lockfile 파일 은 스 크 립 트 가 여러 번 시작 되 는 것 을 방지 할 수 있 습 니 다.
PIDFILE=/dev/shm/pid.txt
if [ -e ${PIDFILE} ] && kill -0 `cat ${PIDFILE}`
then
echo "already running"
exit
fi
trap "rm -f ${PIDFILE}; exit" INT TERM EXIT
echo $$ > ${PIDFILE}
호스트 정보 가 져 오기
python socket 모듈 을 사용 하면 호스트 이름과 IP lsblk lscpu lsmem fdisk 를 가 져 올 수 있 습 니 다.
출력 포맷 관련 명령
echo 변수 줄 바 꾸 기 잃 어 버 린 문제 해결
echo $VAR_TEST
#
echo "${VAR_TEST}"
jq 형식 은 chrome 의 jsonhandler 와 jsonviewer 플러그 인 같은 json 명령 도 출력 합 니 다.printf
호스트 실행 자원 보기 명령
top sar ss/netstat free iostat df ps
호스트 검사 명령
네트워크 차원 검사 명령
ping route nc telnet curl -w
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.