용법

용법

사용자가 "읽기" 입력 옵션을 사용하지 않고 터미널 명령줄에서 단일 인수를 전달하거나, 해당 이름으로 디렉터리를 생성하거나, 그러한 디렉터리가 존재한다는 것을 사용자에게 알리는 bash 스크립트를 생성해야 합니다. 입력 옵션을 읽지 않고 입력이 mkdir로 전달된다는 점을 제외하면 대부분의 스크립트는 매우 단순해 보입니다.

내가 시도했지만 실패한 것들:

1) 사용자에게 터미널에 디렉터리 이름을 입력하라는 메시지를 표시한 다음 스크립트를 다시 실행하고 기록 옵션을 입력으로 사용합니다.

2) 사용자 입력을 파일에 쓰려고 시도했지만 읽어야 함을 발견했습니다.

어떤 조언이나 도움이라도 대단히 감사하겠습니다. 미리 감사드립니다.

답변1

사용자는 "읽기" 입력 옵션을 사용하지 않고 터미널 명령줄에서 단일 인수를 전달하거나, 해당 이름으로 디렉터리를 생성하거나, 그렇지 않으면 사용자에게 디렉터리가 존재함을 알립니다.

필요한 것은 일반적인 위치 명령줄 인수인 것 같습니다.

스크립트 소스 코드 mkdir1:

#!/bin/sh
mkdir "$1"

용법

./mkdir1 foo
./mkdir1 foo
mkdir: cannot create directory ‘foo’: File exists

foo처음 실행했을 때 만들었습니다 mkdir1. 두 번째에는 이미 존재한다는 알림이 표시됩니다.

이는 귀하의 사양에 맞는 것 같습니다.읽다구축할 필요가 없습니다.

설명하다

$1첫 번째 위치 매개변수입니다. $2두 번째가 될 것입니다.

이 질문에 필요한 것보다 더 복잡한 예의 경우 다양한 소스에서 위치 매개변수에 대한 자세한 정보를 찾을 수 있습니다.배쉬 해커 위키,다음과 같이 요약됩니다.

$0           is usually the name of the shell
$FUNCNAME    the function name if inside a function, or $0
$1 - $9      the argument list elements from 1 to 9
${10} - ${N} the argument list elements beyond 9

$*  all positional parameters except $0
$@  all positional parameters except $0
$#  the number of arguments, not counting $0

관련 정보