내 스크립트의 if 문에 문제가 있습니다. 변수에 경로가 저장되어 있고 if...else 문을 사용하여 변수 경로에 파일(file1)이 있는지 확인하고 싶습니다. 이것은 내 코드입니다.
variable=$/home/username/file1
if [ -f "${variable}" ]
then
echo "$variable exists"
exit
else
echo "file not found"
exit
fi
나는 또한 이것을 시도했지만 [ -f "$variable" ]
모든 경우에 두 명령문이 모두 실행되었습니다. 내가 받은 출력은 다음과 같습니다.
/home/username/file1 exists
file not found
가장 큰 문제는 명령 자체가 작동하지 않는다는 것입니다. 그런데 첫 번째 종료 명령 후에도 종료되지 않는 이유는 무엇입니까? 내가 보지 못하는 큰 실수는 어디에 있는가?
답변1
스크립트의 문제는 첫 번째 줄에 있습니다.
변수에 경로를 할당하려면 변수를 문자열로 처리하면 됩니다.
variable="/home/username/file1"
아니면 이것도:
variable=/home/username/file1
그렇다면 괜찮습니다.
명령의 출력을 변수에 할당하려면 $ 기호가 필요합니다.
OUTPUT="$(ls -1)"