batch-file
배치 (Windows)와 터미널 (Linux)의 차이점
수색…
소개
배치와 bash는 아주 다릅니다. 일} 처리 플래그는
/ 로 표시되고 bash 플래그는 - 사용합니다. 대문자 사용은 bash에서 중요하지만 (거의) 일괄 적으로 이루어지지는 않습니다. 일} 처리 변수 이름에는 공백이 포함될 수 있으며, bash 변수 이름은 공백을 포함 할 수 없습니다. 궁극적으로 둘 다 명령 줄을 조작하고 상호 작용하는 방법입니다. 당연히 두 시스템의 기능간에 상당한 크기의 중복이 있습니다.
비고
-
bitsadmin은 PowerShell cmdlet BITS 대신 사용되지 않지만 Windows 10 버전 1607에서 작동합니다. -
certutil은 16 진수 쌍을 공백으로 구분하므로md5sum은d41d8cd98f00b204e9800998ecf8427e의 예제 값을 반환하고certutil은d4 1d 8c d9 8f 00 b2 04 e9 80 09 98 ec f8 42 7e와 동일한 값을 표시합니다.d4 1d 8c d9 8f 00 b2 04 e9 80 09 98 ec f8 42 7e - 다른 드라이브 (예 : C :에서 D :)로
cd하려면/d플래그를 사용해야합니다. -
del은 폴더를 삭제할 수 없습니다. 대신rm사용하십시오. -
grep은find및findstr보다 훨씬 강력합니다. 비교하는 것이 거의 공정하지 않습니다.find에는 정규식 기능이없고findstr에는 정규식 기능이 매우 제한적입니다.[az]{2}은 유효한 구문이 아니지만[az][az] -
forWindows 명령 프롬프트의 루프는 단일 문자 변수 이름 만 사용할 수 있습니다. 일괄 처리 변수 이름은 대 / 소문자를 구분하는 유일한 시간입니다. -
for명령 프롬프트에 루프 또한 변수 형식 사용%A대신%A%-for일괄 루프 스크립트는 변수 양식을 사용%%A -
md필요한 부모 디렉토리를 자동으로 생성하는 반면,mkdir은 그렇게하기 위해-p플래그가 필요합니다. -
rem은 인라인 주석 문자로 사용되지 않을 수 있으며, 앞에& -
::인라인 주석으로는 전혀 사용할 수 없으며 코드 블록 (괄호 집합) 내부에서 사용해서는 안됩니다.
- 같은 일부 Windows 명령합니다
ping여전히 사용-플래그로
일괄 처리 명령과 해당 Bash 명령
| 일괄 | 세게 때리다 | 기술 |
|---|---|---|
command /? | man command | 명령에 대한 도움말을 표시합니다. |
bitsadmin | wget 또는 curl | 원격 파일 다운로드 |
certutil -hashfile file_name MD5 | md5sum file_name | file_name 의 MD5 체크섬을 가져옵니다. |
cd | pwd | 현재 디렉토리를 표시합니다. |
cd directory | cd directory | 현재 디렉토리를 지정된 디렉토리로 변경합니다. |
cls | clear | 화면을 지 웁니다. |
copy | cp | 원본 경로에서 대상 경로로 파일 복사 |
date | date | 날짜를 표시하거나 사용자 입력에 따라 설정합니다. |
del | rm | 파일 하나 또는 여러 개를 삭제합니다. |
dir | ls | 현재 디렉토리에 파일 및 디렉토리 목록을 표시합니다. |
echo | echo | 화면에 텍스트를 표시합니다. |
exit | return | 스크립트 또는 서브 루틴 종료 |
exit | logout | 명령 프롬프트 또는 터미널을 닫습니다. |
fc | diff | 두 파일의 내용 비교 |
find "string" file_name | grep "string" file_name | file_name 에서 문자열을 검색 합니다. |
findstr "string" file_name | grep "string" file_name | file_name 에서 문자열을 검색 합니다. |
for /F %A in (fileset*) do something | for item in fileset*; do; something; done | 파일 집합의 모든 파일에 대해 무언가를하십시오. |
for /F %A in ('command') do something | `command` | 명령의 출력을 반환합니다. |
for /L %A in (first,increment,last) do something | for item in `seq first increment last`; do; something; done | 마지막에 도달 할 때까지 처음 부터 시작하여 증가분으로 계산합니다. |
forfiles | find | 특정 기준과 일치하는 파일을 검색합니다. |
if "%variable%"=="value" ( | if [ "variable"="value" ]; then | 두 값을 비교합니다. |
ipconfig | ifconfig | IP 정보를 표시합니다. |
md | mkdir | 새 폴더를 만듭니다. |
mklink | ln -s | 심볼릭 링크를 만듭니다. |
more | more | 한 번에 한 화면 씩 출력합니다. |
move | mv | 원본 경로에서 대상 경로로 파일을 이동합니다. |
pause | read -p "Press any key to continue" | 사용자가 버튼을 누를 때까지 스크립트 실행을 일시 중지합니다. |
popd | popd | 디렉토리 스택에서 맨 위 항목을 제거하고 새 최상위 디렉토리로 이동합니다. |
pushd | pushd | 현재 디렉토리를 디렉토리 스택에 추가하고 새로운 최상위 디렉토리로 이동합니다. |
ren | mv | 파일 이름 바꾸기 |
rem 또는 :: | # | 한 줄의 코드에 주석 달기 |
rd | rmdir | 빈 디렉토리를 제거합니다. |
rd /s | rm -rf | 빈 디렉토리인지 여부에 관계없이 디렉토리를 제거합니다. |
set variable=value | variable=value | 가치를 변수의 값을 설정합니다 |
set /a variable=equation | variable=$((equation)) | 수학을 수행합니다 (배치는 32 비트 정수만 사용할 수 있음). |
set /p variable=promptstring | read -p "promptstring" variable | 사용자 입력을 가져 와서 변수에 저장합니다. |
shift | shift | 인수를 1 씩 이동합니다 (제공되는 경우 n). |
sort | sort | 출력을 알파벳순으로 줄 단위로 정렬합니다. |
tasklist | ps | 실행중인 프로세스 목록을 표시합니다. |
taskkill /PID processid | kill processid | PID processid로 프로세스를 종료 합니다. |
time /t | date | 현재 시간을 표시합니다. |
type | cat | 파일의 내용을 표시합니다. |
where | which | 현재 디렉토리와 PATH에서 파일 또는 명령을 검색합니다. |
whoami | id | 현재 사용자의 이름과 그룹을 표시합니다. |
일괄 변수 및 해당 배쉬 상당
| 일괄 | 세게 때리다 | 기술 |
|---|---|---|
%variable% | $variable | 일반 변수 |
!variable! | $variable | setlocal enabledelayedexpansion 이 켜져있을 때 코드 블록 내부의 변수 |
%errorlevel% 또는 ERRORLEVEL | $? | 이전 명령의 상태를 반환합니다. 성공하면 0을 반환하고 그렇지 않으면 1을 반환합니다. |
%1 , %2 , %3 등 | $1 , $2 , $3 등 | 스크립트에 주어진 매개 변수 |
%* | $* | 스크립트에 주어진 모든 매개 변수 |
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow