사용자 입력을 사용하여 폴더 이름 지정

사용자 입력을 사용하여 폴더 이름 지정

저는 Linux를 처음 사용하며 사용자가 입력한 폴더 이름을 기반으로 새 디렉터리를 만들고 싶습니다. 사용자에게 이름을 다시 요청하여 첫 번째 디렉터리 내에 새 디렉터리를 만들려면 어떻게 해야 합니까?

암호:

#! /bin/bash
echo "Enter name of dir":
read folder1
mkdir -p $folder1
touch docu.dat
chmod 755 docu.dat

명령으로 생성된 디렉터리 목록을 보려고 했지만 ls목록이 보이지 않고 그 이유를 알고 싶습니다. 또한 bash 인수를 사용하여 스크립트 파일을 실행하는 방법을 알고 싶습니다. 수정하도록 도와주세요.

답변1

사용자에게 두 번째 이름을 묻고 싶다면 사용자에게 두 번째 이름을 물어보세요.

#! /bin/bash
echo "Enter name of dir":
read folder1
echo "Enter name of sub-dir":
read folder2
mkdir -p -- "$folder1/$folder2"
touch docu.dat
chmod 755 docu.dat

방금 만든 디렉터리에 디렉터리를 만들고 싶은 것 같지만 docu.dat, 이 경우 다음을 원할 것입니다.

#! /bin/bash
echo "Enter name of dir":
read folder1
echo "Enter name of sub-dir":
read folder2
mkdir -p -- "$folder1/$folder2"
touch -- "$folder1/$folder2"/docu.dat
chmod 755 -- "$folder1/$folder2"/docu.dat

그러나 일반적으로 사용자에게 입력하라는 메시지를 표시하지 않도록 하세요. 이로 인해 스크립트 자동화, 재실행이 어려워지고 사용자가 잘못된 값을 입력하기가 쉬워집니다. 대신 디렉터리 이름을 인수로 사용하세요.

#! /bin/bash
dirName="$1/$2";
mkdir -p -- "$dirName"
touch -- "$dirName"/docu.dat
chmod 755 -- "$dirName"/docu.dat

그런 다음 다음과 같이 스크립트를 실행하십시오.

./script.sh "dir1" "dir2"

--스크립트도 처리할 수 있도록 존재합니다 . -참조"--"(이중 대시)은(는) 무슨 뜻인가요?.

관련 정보