« [bash]新規ユーザー追加 | トップページ | [applescript] ExifToolインストール(ちょっと修正) »

[bash] ExifToolインストール(ちょっと修正)


#!/bin/bash
#com.cocolog-nifty.quicktimer.icefloe
#ユーザード ~/binにインストールする

########################################
###管理者インストールしているか?チェック
USER_WHOAMI=$(/usr/bin/whoami)
/bin/echo "実行ユーザーは:$USER_WHOAMI"
###実行しているユーザー名
CONSOLE_USER=$(/bin/echo "show State:/Users/ConsoleUser" | /usr/sbin/scutil | /usr/bin/awk '/Name :/ { print $3 }')
/bin/echo "コンソールユーザー:$CONSOLE_USER"
###ログイン名ユーザー名※Visual Studio Codeの出力パネルではrootになる設定がある
LOGIN_NAME=$(/usr/bin/logname)
/bin/echo "ログイン名:$LOGIN_NAME"
###UID
USER_NAME=$(/usr/bin/id -un)
/bin/echo "ユーザー名:$USER_NAME"
###SUDOUSER
/bin/echo "SUDO_USER: $SUDO_USER"
########################################
##OS
PLIST_PATH="/System/Library/CoreServices/SystemVersion.plist"
STR_OS_VER=$(/usr/bin/defaults read "$PLIST_PATH" ProductVersion)
/bin/echo "OS VERSION :" "$STR_OS_VER"
STR_MAJOR_VERSION="${STR_OS_VER%%.*}"
/bin/echo "STR_MAJOR_VERSION :" "$STR_MAJOR_VERSION"
STR_MINOR_VERSION="${STR_OS_VER#*.}"
/bin/echo "STR_MINOR_VERSION :" "$STR_MINOR_VERSION"
########################################
###ダウンロード起動時に削除する項目
USER_TEMP_DIR=$(/usr/bin/mktemp -d)
/bin/echo "起動時に削除されるディレクトリ:" "$USER_TEMP_DIR"
########################################
##デバイス
#起動ディスクの名前を取得する
/bin/mkdir -p "/Users/$CONSOLE_USER/Documents/Apple/IOPlatformUUID"
/usr/bin/touch "/Users/$CONSOLE_USER/Documents/Apple/IOPlatformUUID/diskutil.plist"
/usr/sbin/chown -R "$CONSOLE_USER" "/Users/$CONSOLE_USER/Documents/Apple/IOPlatformUUID"
/bin/chmod -Rf 700 "/Users/$CONSOLE_USER/Documents/Apple"
/usr/sbin/diskutil info -plist / >"/Users/$CONSOLE_USER/Documents/Apple/IOPlatformUUID/diskutil.plist"
STARTUPDISK_NAME=$(/usr/bin/defaults read "/Users/$CONSOLE_USER/Documents/Apple/IOPlatformUUID/diskutil.plist" VolumeName)
/bin/echo "ボリューム名:" "$STARTUPDISK_NAME"
############################################################
############################################################
###BIN
/bin/mkdir -p "/Users/$CONSOLE_USER/bin/"
for ((numTimes = 1; numTimes <= 3; numTimes++)); do
sleep 1
/bin/mkdir -p "/Users/$CONSOLE_USER/bin/"
/usr/bin/touch "/Users/$CONSOLE_USER/bin/"
/usr/sbin/chown "$CONSOLE_USER" "/Users/$CONSOLE_USER/bin/"
/bin/chmod 700 "/Users/$CONSOLE_USER/bin/"
done
# binは不可視にする
/usr/bin/chflags hidden "/Users/$CONSOLE_USER/bin"
/usr/bin/SetFile -a V "/Users/$CONSOLE_USER/bin"
###
STR_BIN_VERSION=$(/usr/bin/curl -sL "https://exiftool.org/ver.txt")
/bin/echo "BIN-VERSION:$STR_BIN_VERSION"
STR_DMG_FILENAME="ExifTool-$STR_BIN_VERSION.dmg"
STR_PKG_FILENAME="ExifTool-$STR_BIN_VERSION.pkg"
STR_MOUNT_PATH="/Volumes/ExifTool-$STR_BIN_VERSION"
STR_PKG_PATH="$STR_MOUNT_PATH/$STR_PKG_FILENAME/Contents/Archive.pax.gz"
###ダウンロードURL
STR_URL="https://exiftool.org/$STR_DMG_FILENAME"
###ファイル名を取得
DL_FILE_NAME=$(/usr/bin/curl -s -L -I -o /dev/null -w '%{url_effective}' "$STR_URL" | /usr/bin/rev | /usr/bin/cut -d'/' -f1 | /usr/bin/rev)
/bin/echo "DL_FILE_NAME:$DL_FILE_NAME"
###ダウンロード
if ! /usr/bin/curl -L -o "$USER_TEMP_DIR/$DL_FILE_NAME" "$STR_URL" --connect-timeout 20; then
/bin/echo "ファイルのダウンロードに失敗しました HTTP1.1で再トライします"
  if ! /usr/bin/curl -L -o "$USER_TEMP_DIR/$DL_FILE_NAME" "$STR_URL" --http1.1 --connect-timeout 20; then
/bin/echo "ファイルのダウンロードに失敗しました"
exit 1
  fi
fi
##全ユーザー実行可能にしておく
/bin/chmod 755 "$USER_TEMP_DIR/$DL_FILE_NAME"
/bin/echo "ダウンロードOK"

############################################################
######### インストール
/bin/echo "インストール開始:" "$CONSOLE_USER"
###ディスクをマウント
/usr/bin/hdiutil attach "$USER_TEMP_DIR/$DL_FILE_NAME" -noverify -nobrowse -noautoopen
sleep 2
####解凍
/usr/bin/bsdtar -xzf "$STR_PKG_PATH" -C "$USER_TEMP_DIR"
sleep 2
###ディスクをアンマウント
/usr/bin/hdiutil detach "$STR_MOUNT_PATH" -force
###旧バージョンをゴミ箱に
USER_TRASH_DIR=$(/usr/bin/mktemp -d "$HOME/.Trash/EXIFTOOL.XXXXXXXX")
/bin/mv "/Users/$CONSOLE_USER/bin/exiftool" "$USER_TRASH_DIR"
####
/bin/mkdir -p "/Users/$CONSOLE_USER/bin/exiftool"
####移動
/usr/bin/ditto "$USER_TEMP_DIR/usr/local/bin" "/Users/$CONSOLE_USER/bin/exiftool"
####終了
/bin/echo "インストール終了:" "$CONSOLE_USER"

STR_DONE_VER=$("/Users/$CONSOLE_USER/bin/exiftool/exiftool" -ver)
/bin/echo "INSTALL-VERSION:$STR_DONE_VER"

open "/Users/$CONSOLE_USER/bin/exiftool"
exit 0


|

« [bash]新規ユーザー追加 | トップページ | [applescript] ExifToolインストール(ちょっと修正) »

AppleScript EXIFData」カテゴリの記事