셸. - 셸 은 필수.
셸 은 여러 가지 가 있 습 니 다. bash 는 거의 기준 이 되 었 기 때문에 다음 과 같은 우리 가 이야기 하 는 것 은 모두 bash 를 기준 으로 합 니 다.
셸 은 뭐 가 안 어 울 려 요.
셸 언어 자체
1.1 유형 과 변수
1.2 조건 제어
if
if 끝 에 fi 를 사용 하 는 것 을 주의 하 십시오. elseif 는 elif 라 고 간략하게 쓰 여 있 습 니 다. 예 를 들 어
if condition
then
commands
elif condition
then
commands
else
commands
fi
1.3 순환
for
for 는 두 가지 형식 이 있 습 니 다. fori 와 forin ,
# for_i
for((i=0;i<10;i++));
do
echo $i
done
# for_in
for VAR in $LIST
do
echo $VAR
done
배열 을 옮 겨 다 니 기
EXAMPLE_ARR=("123" "234" "012")
for str in "${EXAMPLE_ARR[@]}"
do
echo "$str"
done
배열 을 옮 겨 다 닐 때 index 가 필요 합 니 다.
EXAMPLE_ARR=("123" "234" "012")
for i in "${!EXAMPLE_ARR[@]}"
do
echo "$i"
done
이 문법 은 다른 언어 와 크게 다르다.
위 에서 "Linux 의 도 구 를 스 크 립 트 에 직접 쓸 수 있 습 니 다" 라 고 말 했 습 니 다. 여기 서 우 리 는 for 로 디 렉 터 리 를 직접 옮 겨 다 니 는 것 입 니 다.
for file in "ls ~/"
do
echo "$file"
done
sleep
프로그램 이 실행 을 중단 하고 어떤 작업 을 기다 리 고 있 습 니 다: sleep 20, 기본 단 위 는 초 입 니 다.
1.4 함수
함수 전송 정 의 는 다른 언어 (예 를 들 어 golang, nodejs) 에 비해 본질 적 으로 다 르 지 않 지만 전송 참조 와 호출 방식 은 다 릅 니 다. 매개 변 수 는 함수 정의 에 쓰 지 않 고 함수 체 에서 $n 을 직접 사용 하여 파 라 메 터 를 참조 합 니 다. 반환 값 은 return, echo 또는 xargs 를 사용 할 수 있 습 니 다. 함수 가 실 행 된 후에 $를 통 해?결과 참조:
[function] func_name()
{
# code
}
#!/bin/bash
function learnGolang()
{
echo "learn golang in $1"
return 12
}
learnGolang "fourty five minutes"
echo "the result of func is $?"
1.5 스페이스 바 사용
셸 의 빈 칸 은 마음대로 사용 할 수 없습니다. 예 를 들 어 변 수 를 설명 하고 등호 양쪽 에 빈 칸 이 있 으 면 안 됩 니 다.
# valid
var1="test1"
echo $var1
# not valid
var2 = "test2"
echo $var2
2. 셸 에 서 는 다른 도 구 를 사용 하여 다양한 종류의 작업 을 수행 할 수 있 습 니 다.
새 파일 을 만 들 고 내용 을 기록 합 니 다. 내용 에 변 수 를 포함 할 수도 있 습 니 다.
cat > test.txt <
파일 내용 수정
우 리 는 vim 를 수 동 으로 수정 하여 사용 합 니 다. 프로그램 에서 더욱 편리 한 것 은 sed 입 니 다.
파일 복사: cp, mv, scp
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
셸. - 셸 은 필수.셸 마력 은 리 눅 스 의 도 구 를 스 크 립 트 에 직접 쓸 수 있다 는 것 입 니 다. terminal 에서 사용 하 는 명령 은 프로그램 에 직접 쓸 수 있 습 니 다. 그 다음 에 얼마나 안 되 는 일 인지...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.