nohup: 'display_files.sh'를 실행할 수 없습니다. 해당 파일이나 디렉터리가 없습니다.

nohup: 'display_files.sh'를 실행할 수 없습니다. 해당 파일이나 디렉터리가 없습니다.

을 사용하여 코드를 실행하고 싶습니다 nohup shellskriptname &. 그런데 파일을 보려고 할 때마다 nohup해당 파일이 없다고 나옵니다. 이렇게 입력하려면 어떻게 해야 하나요?

#!/usr/bin/bash
# To Display Files and Folders from current Directory

echo Displaying all the Directories in the current directory

for item in *
do
        if [ -d $item ]
         then
                echo $item
        fi
done

echo Displaying all the Files in the current directory

for item in *
do
        if [ -f $item ]
        then
                echo $item
        fi
done

답변1

를 사용하거나 사용하지 않고 스크립트를 실행하는지 여부에 관계없이 nohup쉘은 에 나열된 디렉토리에서 지정된 명령(스크립트)을 찾으려고 시도합니다 $PATH. 디렉터리 경로(절대 또는 상대)를 사용하여 스크립트 이름을 지정하지 않으면 이 작업이 수행됩니다.

현재 FreeBSD 시스템 매뉴얼에서 nohup유틸리티의 환경 변수 사용에 관해 설명합니다 PATH.

PATH
이름에 해당 / 문자가 포함되어 있지 않으면 요청된 유틸리티를 찾는 데 사용됩니다.

이는 쉘과 마찬가지로 명령에 디렉토리 경로가 포함되어 있지 않으면 nohup지정된 유틸리티를 찾는다는 의미입니다.$PATH

따라서 스크립트가 shellskriptname현재 디렉토리에 있고 현재 디렉토리가 의 디렉토리 중 하나가 아닌 경우 $PATH다음을 사용하십시오.

shellskriptname

또는

nohup shellskriptname

당신이 설명하는 방식으로 실패합니다.

대신 스크립트 경로를 제공하십시오.

nohup ./shellskriptname

&명령을 비동기 작업("백그라운드 작업")으로 실행해야 하는 경우 명령 끝에 이를 추가하세요.

실제 스크립트는 다음을 참조하세요.언제 큰따옴표가 필요합니까?

관련 정보