Linux 명령 sh는 무엇을 의미합니까?
리눅스 명령 sh는 Linux에서 쉘을 실행하는 명령이며 쉘의 해석기입니다. 쉘 스크립트는 Linux의 쉘 및 명령줄 인터페이스입니다. 사용자는 쉘 스크립트에 명령을 입력하여 다양한 작업을 수행할 수 있습니다.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.
리눅스 명령 sh는 무엇을 의미하나요?
리눅스 sh 명령에 대한 간략한 소개
1. 가능한 실행 방법
리눅스에서 .sh 파일을 실행하는 방법
.sh 파일을 실행하려면 chmod a+x xxx.sh를 사용하여 실행 파일을 제공해야 합니다. 권한.
2. 시작: #!/bin/sh
쉘 프로그램은 "#!/bin/sh"로 시작해야 합니다. 셸에서 #은 일반적으로 주석을 의미하므로 "#!"도 주석이라고 생각하는 사람이 많지만 실제로는 그렇지 않습니다.
"#!/bin/sh"는 쉘 선언으로, 사용 중인 쉘 유형과 해당 경로를 나타냅니다.
#!/bin/은 이 스크립트가 .bin/sh를 사용하여 실행된다는 의미입니다.
#!은 이 스크립트를 해석하는 쉘의 경로가 뒤에 오는 특수 식별자입니다. 선언하지 않으면 스크립트는 사용자가 실행하는 시스템에 의해 정의됩니다. 셸 스크립트. 스크립트가 Kornshell ksh에서 실행되도록 작성되었으며 기본 실행 셸 스크립트가 C 셸 csh인 경우 스크립트가 실행 중에 실패할 가능성이 높습니다. 따라서 "#!/bin/sh"를 C 언어의 주요 기능으로 취급하는 것이 모든 사람에게 권장됩니다. 이는 쉘 프로그램을 더욱 엄격하게 만들기 위해 쉘을 작성할 때 필수입니다.
3. 변수변수는 다른 프로그래밍 언어에서 사용해야 합니다. 쉘 프로그래밍에서 모든 변수는 문자열로 구성되며
변수 선언이 필요하지 않습니다. 변수에 값을 할당하려면 다음과 같이 작성할 수 있습니다. #!/bin/sh
#对变量赋值:
a=”hello world”# 现在打印变量a的内容:
echo “A is:” echo $a
num=2 echo “this is the $numnd”
This는 "this is the 2nd"를 인쇄하지 않고 "this is " 는 쉘이 변수 numnd의 값을 검색하지만 이 변수에는 값이 없기 때문입니다. 따라서 중괄호를 사용하여 우리가 인쇄하려는 내용이 num 변수임을 쉘에 알릴 수 있습니다.
num=2 echo “this is the ${num}nd”
이 방법으로 "this is the 2nd"가 인쇄됩니다
4. 쉘 스크립트 명령에서 다음을 사용할 수 있습니다:
Unix 명령모든 unix 명령을 쉘 스크립트에서 사용할 수 있지만 비교적 일반적으로 사용되는 명령이 있습니다. 이러한 명령은 일반적으로 파일 및 텍스트 작업에 사용됩니다. 예:
echo "some text" #将文字内容打印在屏幕上 ls #文件列表 cp sourcefile destfile #文件拷贝 mv oldname newname #重命名文件或移动文件 rm file #删除文件 grep 'pattern' file #在文件内搜索字符串,如:grep 'searchstring' file.txt cat file.txt #输出文件内容到标准输出设备(屏幕)上 read var #显示用户输入,并将输入赋值给变量
Pipe |
한 명령의 출력을 다른 명령의 입력으로 사용합니다. grep "hello" file.txt | wc -l
로그인 후 복사
위 코드는 file.txt에서 "hello"가 포함된 줄을 검색하여 줄 수를 세는 식으로 표현됩니다. 여기서는 grep 명령의 출력이 wc 명령의 입력으로 사용됩니다. grep "hello" file.txt | wc -l
- 파이프라인 뒤의 명령은 하위 명령이며 다음 명령에 나타나지 않는다는 점에 유의해야 합니다(
{}
및{}
의 C++와 약간 비슷함).|
将一个命令的输出作为另外一个命令的输入。
#!/bin/shecho 1 2 3 | { read a b c ; echo $a $b $c ; } # 打印结果为: 1 2 3echo $a $b $c # 打印结果为空
上述代码表示为:在 file.txt 中搜索包含有 “hello” 的行并计算其行数。在这里grep命令的输出作为wc命令的输入。
需要注意的是,管道后的命令是子命令,并不会出现在接下来的命令中(有点像C++在{}
内和{}
外赋值的区别),如以下命令:
find . -mtime -1 -type f -print
重定向
:将命令的结果输出到文件,而不是标准输出(屏幕)。
>写入文件并覆盖旧文件
>>追加到文件的尾部,保留旧文件内容。反短横线 “`”:使用反短横线可以将一个命令的输出作为另一个命令的一个命令行参数。
#!/bin/sh # The ticks are backticks (`) not normal quotes (‘): tar -zcvf lastmod.tar.gz `find . -mtime -1 -type f -print`
上述语句用来查找过去24小时(-mtime -2则表示过去48小时)内修改过的文件。如果想将所有查找到的文件打一个包,则可以使用一下linux脚本:
if ….; then …. elif ….; then …. else …. fi #注意是以fi结尾
流程控制
ifif
表达式,如果条件为真则执行 then
后面的部分:
# expression 1# while循环:当expresssion成立的时候,执行cmdwhile (expresssion)do cmddone# expression 2,可以直接使用truewhile true(或 :)do cmddone
大多数情况下,可以使用测试命令来对条件进行测试。比如可以比较字符串、判断文件时都存在以及是否可读等等…
whilewhile
# 寻找 ${path} 路径下唯一首字母为‘E’的子目录,并 cd 到该目录find ${path}/E* -type d | while read corresp_pathdo cd ${corresp_path}done
Redirect
: 명령 결과를 표준 출력(화면) 대신 파일로 출력합니다.
기존 파일을 덮어쓰고 >
안티 대시 "`": 앤티 대시를 사용하여 한 명령의 출력
명령줄 매개변수로 변환합니다.
[ -f "somefile" ] #判断文件是否存在 [ -d "testResults/" ] #判断目录testResults/是否存在 [ -x "/bin/ls" ] #判断/bin/ls文件是否存在并有可执行权限 [ -n "$var" ] #判断$var变量是否有值 [ "$a" = "$b" ] #判断$a和$b是否相等
위 명령문은 지난 24시간 동안 수정된 파일을 찾는 데 사용됩니다(-mtime -2는 지난 48시간을 의미함). 발견된 모든 파일을 패키지하려면 다음 Linux 스크립트를 사용할 수 있습니다.
[ -f "/etc/shadow" ] && echo “This computer uses shadow passwors”
ifif
표현식, 조건이 true인 경우 then
다음 부분을 실행합니다.
#!/bin/sh mailfolder=/var/spool/mail/james [ -r "$mailfolder" ]‘ ‘{ echo “Can not read $mailfolder” ; exit 1; } #感觉这里的‘’应该是|| echo “$mailfolder has mail from:” grep “^From ” $mailfolder
while
루프의 구문 구조는 다음과 같습니다. 🎜rrreee 🎜이 명령 🎜rrreee 🎜🎜Test Conditions 🎜🎜 일반적으로 🎜 "[ ]" 🎜를 사용하여 테스트 조건을 나타냅니다. 여기서 공백은 매우 중요합니다. 🎜대괄호 안에 공백이 있는지 확인하세요🎜. 🎜rrreee 🎜🎜단축 연산자🎜🎜 C 언어에 익숙하다면 다음 표현식이 마음에 들 것입니다. 🎜rrreee 🎜Here🎜"&&"🎜는 단축 연산자입니다. 왼쪽의 표현식이 참이면 오른쪽의 명령문입니다. 실행됩니다. 물론 위 식은 논리연산에서 AND 연산으로도 간주될 수 있다. 🎜🎜동일한 OR 연산 🎜 "||" 🎜은 쉘 프로그래밍에서도 사용할 수 있습니다. 🎜#!/bin/sh mailfolder=/var/spool/mail/james [ -r "$mailfolder" ]‘ ‘{ echo “Can not read $mailfolder” ; exit 1; } #感觉这里的‘’应该是|| echo “$mailfolder has mail from:” grep “^From ” $mailfolder
该脚本首先判断mailfolder是否可读。如果可读则打印该文件中的”From” 一行。如果不可读则或操作生效,打印错误信息后脚本退出。这里有个问题,那就是我们必须有两个命令:
◆打印错误信息
◆退出程序
我们使用花括号以匿名函数的形式将两个命令放到一起作为一个命令使用。一般函数将在下文提及。
不用‘与’和‘或’操作符,我们也可以用if表达式作任何事情,但是使用与或操作符会更便利很多。
推荐学习:《linux视频教程》
위 내용은 Linux 명령 sh는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Linux 시스템의 5 가지 기본 구성 요소는 다음과 같습니다. 1. Kernel, 2. System Library, 3. System Utilities, 4. 그래픽 사용자 인터페이스, 5. 응용 프로그램. 커널은 하드웨어 리소스를 관리하고 시스템 라이브러리는 사전 컴파일 된 기능을 제공하며 시스템 유틸리티는 시스템 관리에 사용되며 GUI는 시각적 상호 작용을 제공하며 응용 프로그램은 이러한 구성 요소를 사용하여 기능을 구현합니다.

vs 코드 1 단계/다음 단계 바로 가기 키 사용 : 1 단계 (뒤로) : Windows/Linux : Ctrl ←; MACOS : CMD ← 다음 단계 (앞으로) : Windows/Linux : Ctrl →; MACOS : CMD →

git 저장소 주소를 보려면 다음 단계를 수행하십시오. 1. 명령 줄을 열고 리포지토리 디렉토리로 이동하십시오. 2. "git remote -v"명령을 실행하십시오. 3. 출력 및 해당 주소에서 저장소 이름을 봅니다.

메모장은 Java 코드를 직접 실행할 수는 없지만 다른 도구를 사용하여 명령 줄 컴파일러 (Javac)를 사용하여 Bytecode 파일 (filename.class)을 생성하면 달성 할 수 있습니다. Java Interpreter (Java)를 사용하여 바이트 코드를 해석하고 코드를 실행하고 결과를 출력하십시오.

Sublime에서 코드를 실행하는 6 가지 방법이 있습니다. 핫키, 메뉴, 빌드 시스템, 명령 줄, 기본 빌드 시스템 설정 및 사용자 정의 빌드 명령, 프로젝트/파일을 마우스 오른쪽 단추로 클릭하여 개별 파일/프로젝트를 실행합니다. 빌드 시스템 가용성은 숭고한 텍스트 설치에 따라 다릅니다.

Linux의 주요 용도에는 다음이 포함됩니다. 1. 서버 운영 체제, 2. 임베디드 시스템, 3. 데스크탑 운영 체제, 4. 개발 및 테스트 환경. Linux는이 분야에서 뛰어나 안정성, 보안 및 효율적인 개발 도구를 제공합니다.

GIT 소프트웨어 설치 단계는 다음 단계가 포함됩니다. 설치 패키지를 다운로드하고 설치 패키지를 실행하여 설치 구성 GIT 설치 GIT BASH (Windows 만)를 확인하십시오.

Laravel을 설치하려면 다음 단계를 순서대로 수행하십시오. Composer 설치 (MacOS/Linux 및 Windows) 설치 LARAVEL 설치 프로그램 새 프로젝트 시작 서비스 액세스 애플리케이션 (URL : http://127.0.1:8000) 데이터베이스 연결 (필요한 경우)을 설정하십시오.
