나는 작은 스크립트를 작성하려고 합니다 ksh
:
fDestExists (){
cd /tmp
read vANSWER?" >> Do you want to create a repository in pwd ? Type YES or NO"
echo " |----> $(fGetDatum) You typed: " $vANSWER
if [ "$vANSWER" = "YES" ]; then
read vANSWER2?" >> Type your repository's name."
mkdir -p $vANSWER2
cd $vANSWER2
echo " |----> Logs will be coped in pwd."
elif [ "$vANSWER" = "NO" ]; then
echo " |----> Logs will be coped in pwd."
else
echo " |----> You typed a wrong answer; exiting."
exit 1
fi
pwd #return
}
여기에는 몇 가지 문제가 있습니다.
echo에서 pwd 값을 어떻게 사용하나요?
값을 반환하려면 마지막 줄에서 echo [yourValue]를 사용하면 작동한다는 내용을 읽었습니다. 그런 다음 함수가 호출되는 곳에서 $?를 사용할 수 있다고 생각했습니다. 그러면 pwd로 동일한 동작을 어떻게 수행할 수 있습니까?
답변1
1: PWD 변수를 직접 사용할 수 있습니다. 예:
echo " |----> Logs will be coped in $PWD."
2: $?
마지막 명령의 반환 값(숫자)을 검색하는 데 사용됩니다. 여기에는 문자열을 전달할 수 없습니다. 반환 값은 성공 시 0, 실패 시 다른 값이어야 합니다. 이 정보를 얻으려면 return 0
또는를 사용하십시오. return -1
스크립트의 현재 디렉토리를 수정하면 $PWD
호출자가 이를 사용할 수 있습니다.