Bash 스크립트에서 강력한 Linux 테스트 명령을 사용하는 방법
Linux의 테스트 명령은 특정 조건이 참인지 확인하는 데 사용되는 내장 셸 명령입니다. test는 if 문과 함께 자주 사용되며 대부분의 if 문은 test에 의존합니다. 이는 한 요소를 다른 요소와 비교할 수 있지만 논리 및 프로그램 흐름을 제어하는 조건문의 일부로 BASH 셸 스크립트에서 더 일반적으로 사용됩니다.
테스트 명령에는 다양한 옵션이 있으며 값, 문자열 및 파일을 감지할 수 있습니다.

기본 예
터미널 창에서 다음 명령을 사용해 보세요.
으아악위 명령은 다음과 같이 분류됩니다.
-
- test: 비교를 수행하는 명령
- 1: 비교하려는 첫 번째 요소입니다. 이 예에서는 숫자 1이지만 숫자나 따옴표 안의 문자열일 수 있습니다.
- – eq: 비교 방법. 이 경우 한 값이 다른 값과 같은지 테스트하고 있습니다.
- 2: 첫 번째 요소의 요소를 비교하려고 합니다. 이 예에서는 숫자 2입니다.
- **&&**: 명령을 순서대로 연결하는 Linux 단축키입니다. 테스트 체인의 출력은 후속 명령으로 전달됩니다. 이전 명령의 종료 상태가 0이면 이중 앰퍼샌드가 실행됩니다. 이는 명령이 실패하지 않았음을 나타내는 멋진 방법입니다.
- echo “yes”: 비교가 성공했을 때 실행할 명령입니다. 이 경우 우리가 하고 있는 일은 echo 명령에 "yes"라는 단어를 표준 출력으로 인쇄하도록 요청하는 것뿐입니다. 그러나 테스트가 true로 판명될 경우 실행될 명령을 여기에서 실행할 수 있습니다.
- || : 어떤 면에서는 &&;의 정반대입니다. 이중 파이프는 명령이 실패하기 전의 경우에만 실행됩니다(종료 상태가 0이 아님).
- **echo "no"**: 비교가 일치하지 않을 때 실행하는 명령입니다.
Tip: 쉘 프롬프트에서 실행할 때 test*는 표준 출력에 값을 반환하지 않고 종료 상태 코드만 반환합니다. 그렇기 때문에 echo 명령을 연결해야 합니다. *

본질적으로 동일합니다. 이 명령은 1과 2를 비교하여 일치하면 echo "yes" 문을 실행하고 "yes"를 표시하고, 일치하지 않으면 echo "no" 문을 실행하고 "no"를 표시합니다.
숫자 비교
숫자로 결정되는 요소를 비교하려면 다음 비교 연산자를 사용할 수 있습니다.
- -eq: 값 1은 값 2 와 같습니다.
- -ge : 값 1이 값 2 보다 크거나 같습니다.
- -gt : 값 1이 값 2 보다 큽니다.
- -le : 값 1이 값 2 보다 작거나 같습니다.
- -lt : 값 1이 값 2 보다 작습니다.
- -ne : 값 1은 값 2 와 같지 않습니다.
예제 테스트
으아악(1은 2가 아니기 때문에 화면에 "no"가 표시됨)
으아악(1이 2보다 크거나 같지 않기 때문에 화면에 "no"가 표시됨)
으아악(1은 2보다 크지 않기 때문에 화면에 "no"가 표시됨)

(1이 2보다 작거나 같으므로 화면에 "예"가 표시됨)
으아악(1이 2보다 작거나 같으므로 화면에 "예"가 표시됨)
test 1 -ne 2 && echo "yes" || echo "no"
(在屏幕上显示“yes”,因为 1 不等于 2)

比较文本
比较解析为字符串的元素时,请使用以下比较运算符:
- **=**:字符串 1 匹配字符串 2
- != : 字符串 1 与字符串 2 不匹配
- -n:字符串长度大于0
- -z:字符串长度等于 0
例子
test "string1" = "string2" && echo "yes" || echo "no"
(在屏幕上显示“no”,因为“string1”不等于“string2”)
test "string1" != "string2" && echo "yes" || echo "no"
(在屏幕上显示“yes”,因为“string1”不等于“string2”)
test -n "string1" && echo "yes" || echo "no"
(在屏幕上显示“yes”,因为“string1”的字符串长度大于零)
test -z "string1" && echo "yes" || echo "no"
(在屏幕上显示“no”,因为“string1”的字符串长度大于零)

比较文件
比较文件时,请使用以下比较运算符:
- -ef:文件具有相同的设备和 inode 编号(它们是同一个文件)
- -nt : 第一个文件比第二个文件新
- -ot:第一个文件比第二个文件旧
- -b:文件存在并且是块特殊的
- -c:文件存在并且是字符特殊的
- -d:文件存在并且是目录
- -e : 文件存在
- -f : 文件存在并且是普通文件
- -g:文件存在并具有指定的组号
- -G : 文件存在且属于用户组
- -h或**-L**:文件存在并且是符号链接
- -k:文件存在并且设置了粘性位
- -O : 文件存在你是所有者
- -p:文件存在并且是命名管道
- -r:文件存在且可读
- -s:文件存在且大小大于零
- -S : 文件存在并且是一个socket
- -t :在终端上打开文件描述符
- -u:文件存在并且设置了 set-user-id 位
- -w:文件存在且可写
- -x:文件存在且可执行
例子
⚡ test linuxmi -nt linux && echo "yes"

(如果 linuxmi 比 linux 新,则显示“yes”字样,如上图
⚡ test -e /home/linuxmi/linuxmi && echo "yes"

(如果 linuxmi 存在,将显示“yes”)
test -O /home/linuxmi/linuxmi && echo "yes"

(如果您拥有 file1,则显示“yes”字样”)
块特殊:文件是块设备,这意味着数据以字节块的形式读取。这些通常是设备文件,例如硬盘驱动器。
特殊字符:文件在您写入时立即执行,通常是串行端口等设备
比较多个条件
到目前为止,一切都在将一件事与另一件事进行比较,但是如果您想比较两个条件怎么办?
例如,如果一只动物有四条腿并且会发出“哞哞”的声音,它可能是一头奶牛。简单地检查四只腿并不能保证你有一头牛,但检查它发出的声音肯定可以。
要同时测试这两个条件,请使用以下语句:
test 4 -eq 4 -a "moo" = "moo" && echo "it is a cow" || echo "it is not a cow"
这里的关键部分是-a标志,它代表and。
有一种更好和更常用的方法来执行相同的测试,如下所示:
test 4 -eq 4 && test "moo" = "moo" && echo "it is a cow" || echo "it is not a cow"
test 命令的分支很重要。如果第一个测试 (4 = 4) 失败,则 *test* 命令以非零退出代码终止。因此,我们跳转到双管道符号并且“it is not a cow”打印到标准输出。但是,如果第一个测试成功并因此 test 导致退出代码0,那么我们跳转到第一个双与号(&&)。下一条语句是另一个测试条件!
如果第二次 test 失败,我们再次跳到双管并从那里继续。然而,如果第二个 test 成功,我们跳转到第二个双& 语句,在这个例子中,它只是将“it is a cow”回显到标准输出,然后终止返回到 shell 提示符。
另一个测试比较两个语句,如果其中一个为真,则输出一个字符串。例如,要检查是否存在名为“linuxmi.txt”的文件或名为“linuxmi.py”的文件,可以使用以下命令:
这里的关键部分是**-o**代表or。
test -e linuxmi.txt -o -e linuxmi.py && echo "linuxmi exists" || echo "linuxmi does not exist"
有一种更好和更常用的方法来执行相同的测试,如下所示:
test -e linuxmi.txt || test -e linuxmi.py && echo "linuxmi exists" || echo "linuxmi does not exist"
排除 test 关键字
您实际上不需要使用单词test来执行比较。您所要做的就是将语句括在方括号中,如下所示:
⚡ [ -e linux.py ] && echo "linux.py exists" || echo "file1 does not exist"linux.py exists
[and**]基本上与****test含义 相同。**

现在您知道这一点,您可以改进比较多个条件,如下所示:
[ 4 -eq 4 ] && [ "moo" = "moo" ] && echo "it is a cow" || echo "it is not a cow" [ -e linuxmi.py ] || [ -e linuxmi.txt ] && echo "linuxmi exists" || echo "linuxmi does not exist"

总结
test 命令在脚本中更有用,因为您可以对照另一个变量测试一个变量的值并控制程序流程。在命令行上,使用它来测试文件是否存在。
위 내용은 Bash 스크립트에서 강력한 Linux 테스트 명령을 사용하는 방법의 상세 내용입니다. 자세한 내용은 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)

뜨거운 주제











대 코드 시스템 요구 사항 : 운영 체제 : Windows 10 이상, MacOS 10.12 이상, Linux 배포 프로세서 : 최소 1.6GHz, 권장 2.0GHz 이상의 메모리 : 최소 512MB, 권장 4GB 이상의 저장 공간 : 최소 250MB, 권장 1GB 및 기타 요구 사항 : 안정 네트워크 연결, Xorg/Wayland (LINUX)

VS 코드 확장을 설치하는 이유는 다음과 같습니다. 네트워크 불안정성, 불충분 한 권한, 시스템 호환성 문제, C 코드 버전은 너무 오래된, 바이러스 백신 소프트웨어 또는 방화벽 간섭입니다. 네트워크 연결, 권한, 로그 파일, 업데이트 대 코드 업데이트, 보안 소프트웨어 비활성화 및 대 코드 또는 컴퓨터를 다시 시작하면 점차 문제를 해결하고 해결할 수 있습니다.

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

VS 코드는 Mac에서 사용할 수 있습니다. 강력한 확장, GIT 통합, 터미널 및 디버거가 있으며 풍부한 설정 옵션도 제공합니다. 그러나 특히 대규모 프로젝트 또는 고도로 전문적인 개발의 경우 VS 코드는 성능 또는 기능 제한을 가질 수 있습니다.

VS Code는 Full Name Visual Studio Code로, Microsoft가 개발 한 무료 및 오픈 소스 크로스 플랫폼 코드 편집기 및 개발 환경입니다. 광범위한 프로그래밍 언어를 지원하고 구문 강조 표시, 코드 자동 완료, 코드 스 니펫 및 스마트 프롬프트를 제공하여 개발 효율성을 향상시킵니다. 풍부한 확장 생태계를 통해 사용자는 디버거, 코드 서식 도구 및 GIT 통합과 같은 특정 요구 및 언어에 확장을 추가 할 수 있습니다. VS 코드에는 코드에서 버그를 신속하게 찾아서 해결하는 데 도움이되는 직관적 인 디버거도 포함되어 있습니다.

Visual Studio Code (VSCODE)는 Microsoft가 개발 한 크로스 플랫폼, 오픈 소스 및 무료 코드 편집기입니다. 광범위한 프로그래밍 언어에 대한 가볍고 확장 성 및 지원으로 유명합니다. VSCODE를 설치하려면 공식 웹 사이트를 방문하여 설치 프로그램을 다운로드하고 실행하십시오. VScode를 사용하는 경우 새 프로젝트를 만들고 코드 편집, 디버그 코드, 프로젝트 탐색, VSCODE 확장 및 설정을 관리 할 수 있습니다. VSCODE는 Windows, MacOS 및 Linux에서 사용할 수 있으며 여러 프로그래밍 언어를 지원하며 Marketplace를 통해 다양한 확장을 제공합니다. 이점은 경량, 확장 성, 광범위한 언어 지원, 풍부한 기능 및 버전이 포함됩니다.

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

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