AppleScript do shell script

[do shell script]他の言語を利用する ruby swift Python perl zsh bash

python3

【スクリプトエディタで開く】|

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions
property refMe : a reference to current application

set strText to ("HELLO WORLD") as text

set strCommandText to ("/usr/bin/python3 -c 'print( \"" & strText & "\".lower())'") as text
set strResponse to (do shell script strCommandText) as text
log strResponse
return strResponse

perl

【スクリプトエディタで開く】|

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions
property refMe : a reference to current application

set strText to ("HELLO WORLD") as text

set strCommandText to ("/usr/bin/perl -pe '$_ = lc($_)' <<< \"" & strText & "\"") as text
set strResponse to (do shell script strCommandText)as text
log strResponse
return strResponse

swift

【スクリプトエディタで開く】|

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions
property refMe : a reference to current application

set strText to ("HELLO WORLD") as text

set strCommandText to ("/usr/bin/swift -e 'let strText = \"" & strText & "\";print(strText.lowercased())'") as text
set strResponse to (do shell script strCommandText) as text
log strResponse
return strResponse

ruby

【スクリプトエディタで開く】|

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions
property refMe : a reference to current application

set strText to ("HELLO WORLD") as text

set strCommandText to ("/usr/bin/ruby -e 'puts \"" & strText & "\".downcase'") as text
set strResponse to (do shell script strCommandText) as text
log strResponse
return strResponse

bash

【スクリプトエディタで開く】|

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions
property refMe : a reference to current application

set strText to ("HELLO WORLD") as text

set strCommandText to ("/bin/bash -c '/bin/echo \"" & strText & "\" | tr '[:upper:]' '[:lower:]''") as text
set strResponse to (do shell script strCommandText) as text
log strResponse
return strResponse

zsh

【スクリプトエディタで開く】|

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions
property refMe : a reference to current application

set strText to ("HELLO WORLD") as text

set strCommandText to ("/bin/zsh -c '/bin/echo \"" & strText & "\"| tr \"[:upper:]\" \"[:lower:]\"'") as text
set strResponse to (do shell script strCommandText) as text
log strResponse
return strResponse

|

[shell script]Permission コマンドで ファイル フォルダのアクセス権を設定変更する


【スクリプトエディタで開く】|

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions
property refMe : a reference to current application


#### ファイルに対してのアクセス権設定
set strFilePath to ("~/Library/Mail/PersistenceInfo.plist") as text
set ocidFilePathStr to refMe's NSString's stringWithString:(strFilePath)
set ocidFilePath to ocidFilePathStr's stringByStandardizingPath()
set strFilePath to ocidFilePath as text
set strCommandText to ("/bin/chmod 700 \"" & strFilePath & "\"") as text
try
  set strResponse to (do shell script strCommandText) as text
on error
  log "アクセス権設定でエラーになりました"
end try

###フォルダに対してのアクセス権設定
set strDirPath to ("~/Library/Mail/") as text
set ocidDirPathStr to refMe's NSString's stringWithString:(strDirPath)
set ocidDirPath to ocidDirPathStr's stringByStandardizingPath()
set strDirPath to ocidDirPath as text
set strCommandText to ("") as text
set strCommandText to ("/bin/chmod 700 \"" & strDirPath & "\"") as text
try
  set strResponse to (do shell script strCommandText) as text
on error
  log "アクセス権設定でエラーになりました"
end try



【スクリプトエディタで開く】|

#!/bin/bash
#com.cocolog-nifty.quicktimer.icefloe
#################################################
###ファイル
STR_FILE_PATH="$HOME/Library/Mail/PersistenceInfo.plist"
/bin/chmod 700 "$STR_FILE_PATH"

if ! /bin/chmod -f 700 "$STR_FILE_PATH"; then
  echo "$STR_FILE_PATH""のアクセス権の設定変更に失敗しました"
fi
####ディレクトリ
STR_DIR_PATH="$HOME/Library/Mail/"
/bin/chmod 700 "$STR_DIR_PATH"

if ! /bin/chmod -f 700 "$STR_DIR_PATH"; then
  echo "$STR_DIR_PATH""のアクセス権の設定変更に失敗しました"
fi
exit 0




【スクリプトエディタで開く】|

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
(*
事前準備
/private/etc/pam.d/sudo_local
# sudo_local: local config file which survives system update and is included for sudo
# uncomment following line to enable Touch ID for sudo
#auth sufficient pam_tid.so
この#を取ります
https://quicktimer.cocolog-nifty.com/icefloe/2023/10/post-b3346a.html
*)
#
#com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions
property refMe : a reference to current application

set recordSystemInfo to system info
set strUID to (short user name of recordSystemInfo) as text
########################
########MacOS13まで
########################
#### ファイルに対してのアクセス権設定
set strFilePath to ("/Library/WebServer/Documents/index.html.en") as text
set strCommandText to ("/bin/chmod 775 \"" & strFilePath & "\"") as text
try
  set strResponse to (do shell script strCommandText) as text
on error
  set strCommandText to ("/usr/bin/sudo /bin/chmod 775 \"" & strFilePath & "\"") as text
  set strResponse to (do shell script strCommandText user name strUID with prompt "管理者権限が必要です" with administrator privileges) as text
end try
###フォルダに対してのアクセス権設定
set strDirPath to ("/Library/WebServer/Documents") as text

set strCommandText to ("") as text
set strCommandText to ("/bin/chmod 777 \"" & strDirPath & "\"") as text
try
  set strResponse to (do shell script strCommandText) as text
on error
  set strCommandText to ("/usr/bin/sudo /bin/chmod 777 \"" & strDirPath & "\"") as text
  set strResponse to (do shell script strCommandText user name strUID with prompt "管理者権限が必要です" with administrator privileges) as text
end try

########################
########MacOS14から
########################
#### ファイルに対してのアクセス権設定
set strFilePath to ("/Library/WebServer/Documents/index.html.en") as text
set strCommandText to ("/bin/chmod 775 \"" & strFilePath & "\"") as text
try
  set strResponse to (do shell script strCommandText) as text
on error
  set strCommandText to ("/usr/bin/sudo /bin/chmod 775 \"" & strFilePath & "\"") as text
  set strResponse to (do shell script strCommandText with administrator privileges) as text
end try

###フォルダに対してのアクセス権設定
set strDirPath to ("/Library/WebServer/Documents") as text

set strCommandText to ("") as text
set strCommandText to ("/bin/chmod 777 \"" & strDirPath & "\"") as text
try
  set strResponse to (do shell script strCommandText) as text
on error
  set strCommandText to ("/usr/bin/sudo /bin/chmod 777 \"" & strDirPath & "\"") as text
  set strResponse to (do shell script strCommandText with administrator privileges) as text
end try


|

[AppleScript] do shell scriptでTouchIDを使う(macOS14対応)


【スクリプトエディタで開く】|

(*
事前準備
/private/etc/pam.d/sudo_local
# sudo_local: local config file which survives system update and is included for sudo
# uncomment following line to enable Touch ID for sudo
#auth sufficient pam_tid.so
この#を取ります
https://quicktimer.cocolog-nifty.com/icefloe/2023/10/post-b3346a.html

*)

## OS13まで(with administrator privilegesがTouch IDを呼び出していましたが)
set strCommandText to "/usr/bin/sudo /bin/date" as text
do shell script strCommandText with prompt "管理者権限が必要です" with administrator privileges


## OS14から(/usr/bin/sudoのTouch IDの呼び出しにまかせるに変わります)
set strCommandText to "/usr/bin/sudo /bin/date" as text
do shell script strCommandText


(*
OS13まではAppleScriptからTouch IDを呼び出していましたが
OS14かららシェルの/usr/bin/sudoがTouch IDを呼び出すイメージです
with administrator privilegesは使わない
with administrator privileges使う場面は
ユーザーを指定する場合のみになったって事かな?
*)

|

[launchctl]不要な起動項目を削除する

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
#
#                       com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7

use AppleScript version "2.8"
use framework "Foundation"
use scripting additions

property refMe : a reference to current application

set objFileManager to refMe's NSFileManager's defaultManager()

###デフォルト
set ocidUserLibraryPath to (objFileManager's URLsForDirectory:(refMe's NSLibraryDirectory) inDomains:(refMe's NSLocalDomainMask))
set ocidDirPathURL to item 1 of ocidUserLibraryPath
set ocidDirPathURL to ocidDirPathURL's URLByAppendingPathComponent:"LaunchDaemons" isDirectory:true
set aliasDefaultLocation to ocidDirPathURL as alias
####ダイアログ
set listChooseFileUTI to {"com.apple.property-list"}
set strPromptText to "ファイルを選んでください" as text
set listAliasFilePath to (choose file with prompt strPromptText default location (aliasDefaultLocation) of type listChooseFileUTI with invisibles and multiple selections allowed without showing package contents)

###ゴミ箱
set ocidUserTrashPath to (objFileManager's URLsForDirectory:(refMe's NSTrashDirectory) inDomains:(refMe's NSUserDomainMask))
set ocidUserTrashPathURL to item 1 of ocidUserTrashPath
set strUserTrashPathURL to ocidUserTrashPathURL's |path|() as text

###選んだファイルの数だけ繰り返し
repeat with objAliasFilePath in listAliasFilePath
    set strFilePath to POSIX path of objAliasFilePath as text
    try
        ###停止
        set strCommandText to "/usr/bin/sudo /bin/launchctl stop -w  \"" & strFilePath & "\"" as text
        do shell script strCommandText with administrator privileges
    end try
    try
        ###アンロード
        set strCommandText to "/usr/bin/sudo /bin/launchctl unload -w  \"" & strFilePath & "\"" as text
        do shell script strCommandText with administrator privileges
    end try
    try
        ####削除
        set strCommandText to "/usr/bin/sudo /bin/launchctl remove -w \"" & strFilePath & "\"" as text
        do shell script strCommandText with administrator privileges
    end try
    ####ゴミ箱へ
    set strCommandText to "/usr/bin/sudo /bin/mv  \"" & strFilePath & "\"  \"" & strUserTrashPathURL & "\"" as text
    do shell script strCommandText with administrator privileges
    
end repeat

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
#
#                       com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7

use AppleScript version "2.8"
use framework "Foundation"
use scripting additions

property refMe : a reference to current application

set objFileManager to refMe's NSFileManager's defaultManager()

###デフォルト
set ocidUserLibraryPath to (objFileManager's URLsForDirectory:(refMe's NSLibraryDirectory) inDomains:(refMe's NSUserDomainMask))
set ocidDirPathURL to item 1 of ocidUserLibraryPath
set ocidDirPathURL to ocidDirPathURL's URLByAppendingPathComponent:"LaunchAgents" isDirectory:true
set aliasDefaultLocation to ocidDirPathURL as alias
####ダイアログ
set listChooseFileUTI to {"com.apple.property-list"}
set strPromptText to "ファイルを選んでください" as text
set listAliasFilePath to (choose file with prompt strPromptText default location (aliasDefaultLocation) of type listChooseFileUTI with invisibles and multiple selections allowed without showing package contents)

###ゴミ箱
set ocidUserTrashPath to (objFileManager's URLsForDirectory:(refMe's NSTrashDirectory) inDomains:(refMe's NSUserDomainMask))
set ocidUserTrashPathURL to item 1 of ocidUserTrashPath
set strUserTrashPathURL to ocidUserTrashPathURL's |path|() as text

###選んだファイルの数だけ繰り返し
repeat with objAliasFilePath in listAliasFilePath
    set strFilePath to POSIX path of objAliasFilePath as text
    try
        ###停止
        set strCommandText to "/usr/bin/sudo /bin/launchctl stop -w  \"" & strFilePath & "\"" as text
        do shell script strCommandText with administrator privileges
    end try
    try
        ###アンロード
        set strCommandText to "/usr/bin/sudo /bin/launchctl unload -w  \"" & strFilePath & "\"" as text
        do shell script strCommandText with administrator privileges
    end try
    try
        ####削除
        set strCommandText to "/usr/bin/sudo /bin/launchctl remove -w \"" & strFilePath & "\"" as text
        do shell script strCommandText with administrator privileges
    end try
    ####ゴミ箱へ
    set strCommandText to "/usr/bin/sudo /bin/mv  \"" & strFilePath & "\"  \"" & strUserTrashPathURL & "\"" as text
    do shell script strCommandText with administrator privileges
    
end repeat

|

その他のカテゴリー

Acrobat Acrobat Annotation Acrobat Dialog Acrobat Form Acrobat JS Acrobat Open Acrobat Plugin Acrobat python Acrobat Reader Acrobat Sequ Acrobat Stamps Admin Admin Account Admin Apachectl Admin configCode Admin Device Management Admin LaunchServices Admin Locationd Admin loginitem Admin Maintenance Admin Permission Admin Pkg Admin Power Management Admin Printer Admin SetUp Admin SMB Admin System Information Admin Tools Admin Users Admin Volumes Adobe Apple AppleScript AppleScript Guide AppleScript Accessibility AppleScript AppKit AppleScript Applications AppleScript AppStore AppleScript Archive AppleScript Attributes AppleScript Automator AppleScript AVAsset AppleScript AVconvert AppleScript AVFoundation AppleScript AVURLAsset AppleScript BackUp AppleScript Barcode AppleScript Bash AppleScript Basic AppleScript Basic Path AppleScript Bluetooth AppleScript BOX AppleScript Browser AppleScript Calendar AppleScript CD/DVD AppleScript Choose AppleScript Chrome AppleScript CIImage AppleScript CloudStorage AppleScript Color AppleScript com.apple.LaunchServices.OpenWith AppleScript Console AppleScript Contacts AppleScript CotEditor AppleScript CURL AppleScript current application AppleScript Date&Time AppleScript delimiters AppleScript Desktop AppleScript Device AppleScript Disk AppleScript do shell script AppleScript Dock AppleScript DropBox AppleScript eMail AppleScript Encode Decode AppleScript Error AppleScript EXIFData AppleScript ffmpeg AppleScript File AppleScript Finder AppleScript Firefox AppleScript Folder AppleScript Fonts AppleScript GIF AppleScript HTML AppleScript Icon AppleScript Illustrator AppleScript Image Events AppleScript Image2PDF AppleScript ImageOptim Applescript iWork AppleScript Javascript AppleScript Jedit AppleScript Json AppleScript Label AppleScript List AppleScript locationd AppleScript LRC AppleScript LSSharedFileList AppleScript m3u8 AppleScript MakePDF AppleScript Map AppleScript Math AppleScript Microsoft AppleScript Microsoft Edge AppleScript Microsoft Excel AppleScript Mobileconfig AppleScript Mouse AppleScript Movie AppleScript Music AppleScript NetWork AppleScript Notes AppleScript NSArray AppleScript NSBitmapImageRep AppleScript NSBundle AppleScript NSCFBoolean AppleScript NSCharacterSet AppleScript NSColor AppleScript NSColorList AppleScript NSData AppleScript NSDictionary AppleScript NSError AppleScript NSEvent AppleScript NSFileAttributes AppleScript NSFileManager AppleScript NSFont AppleScript NSFontManager AppleScript NSImage AppleScript NSIndex AppleScript NSKeyedArchiver AppleScript NSKeyedUnarchiver AppleScript NSLocale AppleScript NSMutableArray AppleScript NSMutableDictionary AppleScript NSMutableString AppleScript NSNotFound AppleScript NSNumber AppleScript NSOpenPanel AppleScript NSPasteboard AppleScript NSPDFImageRep AppleScript NSpoint AppleScript NSPredicate AppleScript NSRange AppleScript NSRegularExpression AppleScript NSRunningApplication AppleScript NSScreen AppleScript NSSize AppleScript NSString AppleScript NSStringCompareOptions AppleScript NSTask AppleScript NSTimeZone AppleScript NSURL AppleScript NSURL File AppleScript NSURLBookmark AppleScript NSURLComponents AppleScript NSURLResourceKey AppleScript NSUserDefaults AppleScript NSUUID AppleScript NSView AppleScript NSWorkspace AppleScript Numbers AppleScript OAuth AppleScript ObjC AppleScript OneDrive AppleScript Osax AppleScript PDF AppleScript PDFAnnotationWidget AppleScript PDFContext AppleScript PDFDisplayBox AppleScript PDFDocumentPermissions AppleScript PDFKit AppleScript PDFnUP AppleScript PDFOutline AppleScript Photos AppleScript Photoshop AppleScript Plist System Events AppleScript PostScript AppleScript prefPane AppleScript Preview AppleScript Python AppleScript QR AppleScript QR Decode AppleScript QuickLook AppleScript QuickTime AppleScript record AppleScript Regular Expression AppleScript Reminders AppleScript ReName AppleScript Repeat AppleScript RTF AppleScript Safari AppleScript SaveFile AppleScript ScreenCapture AppleScript ScreenSaver AppleScript Script Editor AppleScript Script Menu AppleScript Shortcuts AppleScript Shortcuts Events AppleScript Sort AppleScript Sound AppleScript Spotlight AppleScript SRT AppleScript StandardAdditions AppleScript stringByApplyingTransform AppleScript System Events AppleScript System Settings AppleScript TemporaryItems AppleScript Terminal AppleScript Text AppleScript Text CSV AppleScript Text TSV AppleScript TextEdit AppleScript Translate AppleScript Trash AppleScript Twitter AppleScript UI AppleScript Unit Conversion AppleScript UTType AppleScript valueForKeyPath AppleScript Video AppleScript VisionKit AppleScript Visual Studio Code AppleScript webarchive AppleScript webp AppleScript Wifi AppleScript XML AppleScript XML EPUB AppleScript XML OPML AppleScript XML Plist AppleScript XML RSS AppleScript XML SVG AppleScript XML TTML AppleScript XML webloc AppleScript YouTube AppleScript Zero Suppress Applications Barcode OnLine Tools CityCode Design iPhone List Logs lsappinfo Memo Music perl PlistBuddy pluginkit postalcode ReadMe SF Symbols character id SF Symbols Entity sips Skype Slack sqlite TCC Tools Typography Video Wacom zoom