*nixシステムでIDを使用してユーザーが存在するかどうかを確認する例はたくさんあります
コードをテストするために簡単なコードを作成し、動作を確認して検証した後、スクリプトを開発するためにコピーしました。
チェックユーザー
#!/usr/bin/env bash
function checkUser() {
if id "$USER" >/dev/null 2>&1; then
echo "user exists"
else
echo "user does not exist"
fi
}
USER=$4
checkUser
テストコード
sudo local/checkuser.sh misitio test 7.3 abkrim /home/abkrim/Sites/
abkrim.EXISTS
user exists
しかし、スクリプトのコピーが機能しない場合
#!/usr/bin/env bash
if [ $EUID != 0 ]; then
sudo "$0" "$@"
exit $?
fi
SITE=$1
PHP=$3
USER=$4
NGINX=/etc/nginx/
FPM=/etc/php/${PHP}/fpm/pool.d/
PATH=$5
checkUser
テストコード
sudo local/deploy_site.sh misitio test 7.3 abkrim /home/abkrim/Sites/
abkrim
user does not exist