私は小さなスクリプトを書こうとしています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
呼び出し側はそれを使用できます。