Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

cannot execute shell script on macOS?

mrchow19910319
 Share

How come I cannot execute this 2 shell script on my Mac? 

I typed

sh /path/to/my/shell/script

into my terminal and I get a lot of command not found errors. 

 

is this not a bash shell script?? 

#!/bin/bash

# Sane OSX defaults
# ~/.osx — http://mths.be/osx

# Close any open System Preferences panes, to prevent them from overriding
# settings we’re about to change
osascript -e 'tell application "System Preferences" to quit'

# Ask for the administrator password upfront
# sudo -v

# Keep-alive: update existing `sudo` time stamp until `.osx` has finished
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &


###############################################################################
# General UI/UX                                                               #
###############################################################################

# Set computer name (as done via System Preferences → Sharing)
#sudo scutil --set ComputerName $COMPUTERNAME
#sudo scutil --set HostName $COMPUTERNAME
#sudo scutil --set LocalHostName $LOCALHOSTNAME
#sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server NetBIOSName -string $LOCALHOSTNAME

# Menu bar: disable transparency
defaults write NSGlobalDomain AppleEnableMenuBarTransparency -bool false

# Menu bar: hide remaining battery time (on pre-10.8); hide percentage
defaults write com.apple.menuextra.battery ShowPercent -string "NO"
defaults write com.apple.menuextra.battery ShowTime -string "NO"

# Menu bar: hide the useless Time Machine and Volume icons
defaults write com.apple.systemuiserver menuExtras -array "/System/Library/CoreServices/Menu Extras/Bluetooth.menu" "/System/Library/CoreServices/Menu Extras/AirPort.menu" "/System/Library/CoreServices/Menu Extras/Battery.menu" "/System/Library/CoreServices/Menu Extras/Clock.menu"

# Always show scrollbars
#defaults write NSGlobalDomain AppleShowScrollBars -string "Always"

# Disable opening and closing window animations
defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool false

# Increase window resize speed for Cocoa applications
defaults write NSGlobalDomain NSWindowResizeTime -float 0.001

# Expand save panel by default
defaults write NSGlobalDomain NSNavPanelExpandedStateForSaveMode -bool true

# Expand print panel by default
defaults write NSGlobalDomain PMPrintingExpandedStateForPrint -bool true

# Save to disk (not to iCloud) by default
defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false

# Automatically quit printer app once the print jobs complete
defaults write com.apple.print.PrintingPrefs "Quit When Finished" -bool true

# Disable the “Are you sure you want to open this application?” dialog
defaults write com.apple.LaunchServices LSQuarantine -bool false

# Display ASCII control characters using caret notation in standard text views
# Try e.g. `cd /tmp; unidecode "\x{0000}" > cc.txt; open -e cc.txt`
defaults write NSGlobalDomain NSTextShowsControlCharacters -bool true

# Disable Resume system-wide
#defaults write NSGlobalDomain NSQuitAlwaysKeepsWindows -bool false

# Disable automatic termination of inactive apps
#defaults write NSGlobalDomain NSDisableAutomaticTermination -bool true

# Disable the crash reporter
defaults write com.apple.CrashReporter DialogType -string "none"

# Set Help Viewer windows to non-floating mode
#defaults write com.apple.helpviewer DevMode -bool true

# Fix for the ancient UTF-8 bug in QuickLook (http://mths.be/bbo)
# Commented out, as this is known to cause problems when saving files in
# Adobe Illustrator CS5 :(
#echo "0x08000100:0" > ~/.CFUserTextEncoding

# Reveal IP address, hostname, OS version, etc. when clicking the clock in the login window
#sudo defaults write /Library/Preferences/com.apple.loginwindow AdminHostInfo HostName

# Restart automatically if the computer freezes
#systemsetup -setrestartfreeze on

###############################################################################
# SSD-specific tweaks                                                         #
###############################################################################

# Disable hibernation (speeds up entering sleep mode)
sudo pmset -a hibernatemode 0

# Remove the sleep image file to save disk space
sudo rm /private/var/vm/sleepimage
# Create a zero-byte file instead…
sudo touch /private/var/vm/sleepimage
# …and make sure it can’t be rewritten
sudo chflags uchg /private/var/vm/sleepimage

###############################################################################
# Trackpad, mouse, keyboard, Bluetooth accessories, and input                 #
###############################################################################

# Trackpad: enable tap to click for this user and for the login screen
defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad Clicking -bool true
defaults -currentHost write NSGlobalDomain com.apple.mouse.tapBehavior -int 1
defaults write NSGlobalDomain com.apple.mouse.tapBehavior -int 1

# Trackpad: map bottom right corner to right-click
#defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadCornerSecondaryClick -int 2
#defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadRightClick -bool true
#defaults -currentHost write NSGlobalDomain com.apple.trackpad.trackpadCornerClickBehavior -int 1
#defaults -currentHost write NSGlobalDomain com.apple.trackpad.enableSecondaryClick -bool true

# Trackpad: swipe between pages with three fingers
#defaults write NSGlobalDomain AppleEnableSwipeNavigateWithScrolls -bool true
#defaults -currentHost write NSGlobalDomain com.apple.trackpad.threeFingerHorizSwipeGesture -int 1
#defaults write com.apple.driver.AppleBluetoothMultitouch.trackpad TrackpadThreeFingerHorizSwipeGesture -int 1

# Disable “natural” (Lion-style) scrolling
defaults write NSGlobalDomain com.apple.swipescrolldirection -bool false

# Increase sound quality for Bluetooth headphones/headsets
defaults write com.apple.BluetoothAudioAgent "Apple Bitpool Min (editable)" -int 40

# Enable full keyboard access for all controls
# (e.g. enable Tab in modal dialogs)
# defaults write NSGlobalDomain AppleKeyboardUIMode -int 3

# Enable access for assistive devices
# echo -n 'a' | sudo tee /private/var/db/.AccessibilityAPIEnabled > /dev/null 2>&1
# sudo chmod 444 /private/var/db/.AccessibilityAPIEnabled
# TODO: avoid GUI password prompt somehow (http://apple.stackexchange.com/q/60476/4408)
#sudo osascript -e 'tell application "System Events" to set UI elements enabled to true'

# Use scroll gesture with the Ctrl (^) modifier key to zoom
# defaults write com.apple.universalaccess closeViewScrollWheelToggle -bool true
# defaults write com.apple.universalaccess HIDScrollZoomModifierMask -int 262144
# Follow the keyboard focus while zoomed in
# defaults write com.apple.universalaccess closeViewZoomFollowsFocus -bool true

# Disable press-and-hold for keys in favor of key repeat
#defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false

# Turn off keyboard illumination when computer is not used for 5 minutes
defaults write com.apple.BezelServices kDimTime -int 300

# Set language and text formats
# Note: if you’re in the US, replace `EUR` with `USD`, `Centimeters` with
# `Inches`, and `true` with `false`.
# defaults write NSGlobalDomain AppleLanguages -array "en" "ru"
# defaults write NSGlobalDomain AppleLocale -string "ru_RU@currency=RUR"
# defaults write NSGlobalDomain AppleMeasurementUnits -string "Centimeters"
# defaults write NSGlobalDomain AppleMetricUnits -bool true

# Set the timezone; see `systemsetup -listtimezones` for other values
# systemsetup -settimezone "Europe/Moscow" > /dev/null

# Disable auto-correct
defaults write NSGlobalDomain NSAutomaticSpellingCorrectionEnabled -bool false

###############################################################################
# Screen                                                                      #
###############################################################################

# Require password immediately after sleep or screen saver begins
defaults write com.apple.screensaver askForPassword -int 1
defaults write com.apple.screensaver askForPasswordDelay -int 0


# Save screenshots in PNG format (other options: BMP, GIF, JPG, PDF, TIFF)
defaults write com.apple.screencapture type -string "png"

# Disable shadow in screenshots
defaults write com.apple.screencapture disable-shadow -bool true

# Enable subpixel font rendering on non-Apple LCDs
defaults write NSGlobalDomain AppleFontSmoothing -int 2


###############################################################################
# Finder                                                                      #
###############################################################################

# Enable CUT in finder
defaults write com.apple.finder AllowCutForItems 1

# Finder: allow quitting via ⌘ + Q; doing so will also hide desktop icons
# defaults write com.apple.finder QuitMenuItem -bool true

# Finder: disable window animations and Get Info animations
defaults write com.apple.finder DisableAllAnimations -bool true

# Show icons for hard drives, servers, and removable media on the desktop
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true
#defaults write com.apple.finder ShowHardDrivesOnDesktop -bool true
#defaults write com.apple.finder ShowMountedServersOnDesktop -bool true
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true

# Finder: show hidden files by default
defaults write com.apple.finder AppleShowAllFiles -bool true

# Finder: show all filename extensions
defaults write NSGlobalDomain AppleShowAllExtensions -bool true

# Finder: hide status bar
defaults write com.apple.finder ShowStatusBar -bool false

# Finder: show path bar 
defaults write com.apple.finder ShowPathbar -boolean true

# Finder: allow text selection in Quick Look
defaults write com.apple.finder QLEnableTextSelection -bool true

# Display full POSIX path as Finder window title
#defaults write com.apple.finder _FXShowPosixPathInTitle -bool true

# When performing a search, search the current folder by default
defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"

# Disable the warning when changing a file extension
defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false

# Avoid creating .DS_Store files on network volumes
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

# Disable disk image verification
defaults write com.apple.frameworks.diskimages skip-verify -bool true
defaults write com.apple.frameworks.diskimages skip-verify-locked -bool true
defaults write com.apple.frameworks.diskimages skip-verify-remote -bool true

# Automatically open a new Finder window when a volume is mounted
defaults write com.apple.frameworks.diskimages auto-open-ro-root -bool true
defaults write com.apple.frameworks.diskimages auto-open-rw-root -bool true
defaults write com.apple.finder OpenWindowForNewRemovableDisk -bool true

# Show item info below icons on the desktop and in other icon views
#/usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:showItemInfo true" ~/Library/Preferences/com.apple.finder.plist
#/usr/libexec/PlistBuddy -c "Set :FK_StandardViewSettings:IconViewSettings:showItemInfo true" ~/Library/Preferences/com.apple.finder.plist
#/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:IconViewSettings:showItemInfo true" ~/Library/Preferences/com.apple.finder.plist

# Enable snap-to-grid for icons on the desktop and in other icon views
/usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:arrangeBy grid" ~/Library/Preferences/com.apple.finder.plist
/usr/libexec/PlistBuddy -c "Set :FK_StandardViewSettings:IconViewSettings:arrangeBy grid" ~/Library/Preferences/com.apple.finder.plist
/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:IconViewSettings:arrangeBy grid" ~/Library/Preferences/com.apple.finder.plist

# Increase grid spacing for icons on the desktop and in other icon views
#/usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:gridSpacing 100" ~/Library/Preferences/com.apple.finder.plist
#/usr/libexec/PlistBuddy -c "Set :FK_StandardViewSettings:IconViewSettings:gridSpacing 100" ~/Library/Preferences/com.apple.finder.plist
#/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:IconViewSettings:gridSpacing 100" ~/Library/Preferences/com.apple.finder.plist

# Increase the size of icons on the desktop and in other icon views
#/usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:iconSize 80" ~/Library/Preferences/com.apple.finder.plist
#/usr/libexec/PlistBuddy -c "Set :FK_StandardViewSettings:IconViewSettings:iconSize 80" ~/Library/Preferences/com.apple.finder.plist
#/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:IconViewSettings:iconSize 80" ~/Library/Preferences/com.apple.finder.plist

# Use list view in all Finder windows by default
# Four-letter codes for the other view modes: `icnv`, `clmv`, `Flwv`
defaults write com.apple.finder FXPreferredViewStyle -string "Nlsv"

# Disable the warning before emptying the Trash
defaults write com.apple.finder WarnOnEmptyTrash -bool false

# Empty Trash securely by default
defaults write com.apple.finder EmptyTrashSecurely -bool true

# Enable AirDrop over Ethernet and on unsupported Macs running Lion
# defaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool true

# Finder: disable sounds 
defaults write com.apple.finder FinderSounds -boolean false

# Show the ~/Library folder
chflags nohidden ~/Library

# Remove Dropbox’s green checkmark icons in Finder
# file=/Applications/Dropbox.app/Contents/Resources/check.icns
# [ -e "$file" ] && mv -f "$file" "$file.bak"
# unset file

###############################################################################
# Dock & hot corners                                                          #
###############################################################################

# Enable highlight hover effect for the grid view of a stack (Dock)
#defaults write com.apple.dock mouse-over-hilte-stack -bool true

# Set the icon size of Dock items to 60 pixels
defaults write com.apple.dock tilesize -int 60

# Enable spring loading for all Dock items
defaults write com.apple.dock enable-spring-load-actions-on-all-items -bool true

# Don't show indicator lights for open applications in the Dock
# defaults write com.apple.dock show-process-indicators -bool false

# Don’t animate opening applications from the Dock
defaults write com.apple.dock launchanim -bool false

# Speed up Mission Control animations
defaults write com.apple.dock expose-animation-duration -float 0.1

# Group windows by application in Mission Control
# defaults write com.apple.dock expose-group-by-app -bool true

# Don’t show Dashboard as a Space
defaults write com.apple.dock dashboard-in-overlay -bool true

# Automatically hide and show the Dock
defaults write com.apple.dock autohide -bool true

# Set 1 second delay when showing and hiding the Dock (to discourage using the Dock)
defaults write com.apple.dock autohide-delay -float 1 

# Remove the animation when hiding/showing the Dock
defaults write com.apple.dock autohide-time-modifier -float 0

# Make Dock icons of hidden applications translucent
#defaults write com.apple.dock showhidden -bool true

# Disable icon bouncing (looks like it don't work)
defaults write com.apple.dock no-bouncing -bool true

# Show only active applications
# defaults write com.apple.dock static-only -bool true

# Reset Launchpad
find ~/Library/Application\ Support/Dock -name "*.db" -maxdepth 1 -delete

# Add iOS Simulator to Launchpad
#ln -s /Applications/Xcode.app/Contents/Applications/iPhone\ Simulator.app /Applications/iOS\ Simulator.app

# Add a spacer to the left side of the Dock (where the applications are)
#defaults write com.apple.dock persistent-apps -array-add '{tile-data={}; tile-type="spacer-tile";}'
# Add a spacer to the right side of the Dock (where the Trash is)
#defaults write com.apple.dock persistent-others -array-add '{tile-data={}; tile-type="spacer-tile";}'

# Hot corners
# Top left screen corner → Mission Control
#defaults write com.apple.dock wvous-tl-corner -int 2
#defaults write com.apple.dock wvous-tl-modifier -int 0
# Top right screen corner → Desktop
#defaults write com.apple.dock wvous-tr-corner -int 4
#defaults write com.apple.dock wvous-tr-modifier -int 0
# Bottom left screen corner → Start screen saver
#defaults write com.apple.dock wvous-bl-corner -int 5
#defaults write com.apple.dock wvous-bl-modifier -int 0

###############################################################################
# Misc                                                                        #
###############################################################################

# Check spelling as you type 
defaults write -g CheckSpellingWhileTyping -boolean true

# Enable continuous spell checking everywhere (don't know what it means)
defaults write -g WebContinuousSpellCheckingEnabled -boolean true

# Spotlight menu keyboard shortcut: none
/usr/libexec/PlistBuddy "$HOME/Library/Preferences/com.apple.symbolichotkeys.plist" -c 'Delete AppleSymbolicHotKeys:64' > /dev/null 2>&1
/usr/libexec/PlistBuddy "$HOME/Library/Preferences/com.apple.symbolichotkeys.plist" -c 'Add AppleSymbolicHotKeys:64:enabled bool false'

# Spotlight window keyboard shortcut: none
/usr/libexec/PlistBuddy "$HOME/Library/Preferences/com.apple.symbolichotkeys.plist" -c 'Delete AppleSymbolicHotKeys:65' > /dev/null 2>&1
/usr/libexec/PlistBuddy "$HOME/Library/Preferences/com.apple.symbolichotkeys.plist" -c 'Add AppleSymbolicHotKeys:65:enabled bool false'

# Remove Spotlight from menu bar
sudo chmod 600 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search

# Disable Notification Center
launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist


###############################################################################
# Safari & WebKit                                                             #
###############################################################################

# Privacy: don’t send search queries to Apple
defaults write com.apple.Safari UniversalSearchEnabled -bool false
defaults write com.apple.Safari SuppressSearchSuggestions -bool true

# Press Tab to highlight each item on a web page
defaults write com.apple.Safari WebKitTabToLinksPreferenceKey -bool true
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2TabsToLinks -bool true

# Set Safari’s home page to `about:blank` for faster loading
defaults write com.apple.Safari HomePage -string "about:blank"

# Prevent Safari from opening ‘safe’ files automatically after downloading
defaults write com.apple.Safari AutoOpenSafeDownloads -bool false

# Allow hitting the Backspace key to go to the previous page in history
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2BackspaceKeyNavigationEnabled -bool true

# Hide Safari’s bookmarks bar by default
# defaults write com.apple.Safari ShowFavoritesBar -bool false

# Disable Safari’s thumbnail cache for History and Top Sites
defaults write com.apple.Safari DebugSnapshotsUpdatePolicy -int 2

# Enable Safari’s debug menu
# defaults write com.apple.Safari IncludeInternalDebugMenu -bool true

# Make Safari’s search banners default to Contains instead of Starts With
defaults write com.apple.Safari FindOnPageMatchesWordStartsOnly -bool false

# # Remove useless icons from Safari’s bookmarks bar
# defaults write com.apple.Safari ProxiesInBookmarksBar "()"

# Enable the Develop menu and the Web Inspector in Safari
# defaults write com.apple.Safari IncludeDevelopMenu -bool true
# defaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true
# defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true

# Add a context menu item for showing the Web Inspector in web views
# defaults write NSGlobalDomain WebKitDeveloperExtras -bool true

# Enable the WebKit Developer Tools in the Mac App Store
defaults write com.apple.appstore WebKitDeveloperExtras -bool true

# Enable “Do Not Track”
defaults write com.apple.Safari SendDoNotTrackHTTPHeader -bool true

###############################################################################
# Terminal                                                                    #
###############################################################################

# Only use UTF-8 in Terminal.app
defaults write com.apple.terminal StringEncodings -array 4

# Use a modified version of the Pro theme by default in Terminal.app
# open "$HOME/dotfiles/color/Squirrelsong.terminal"
# sleep 1  # Wait a bit to make sure the theme is loaded
# defaults write com.apple.terminal "Default Window Settings" -string "Squirrelsong"
# defaults write com.apple.terminal "Startup Window Settings" -string "Squirrelsong"

# Enable “focus follows mouse” for Terminal.app and all X11 apps
# i.e. hover over a window and start typing in it without clicking first
defaults write com.apple.terminal FocusFollowsMouse -bool true
defaults write org.x.X11 wm_ffm -bool true

###############################################################################
# Mail                                                                        #
###############################################################################

# Disable send and reply animations in Mail.app
#defaults write com.apple.mail DisableReplyAnimations -bool true
#defaults write com.apple.mail DisableSendAnimations -bool true

# Copy email addresses as `foo@example.com` instead of `Foo Bar <foo@example.com>` in Mail.app
defaults write com.apple.mail AddressesIncludeNameOnPasteboard -bool false

# Add the keyboard shortcut ⌘ + Enter to send an email in Mail.app
defaults write com.apple.mail NSUserKeyEquivalents -dict-add "Send" "@\\U21a9"

# Make every attachment you send act like an attachment instead of a pretty unusable decoration
defaults write com.apple.mail DisableInlineAttachmentViewing -bool true

###############################################################################
# Time Machine                                                                #
###############################################################################

# Prevent Time Machine from prompting to use new hard drives as backup volume
defaults write com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true

# Disable local Time Machine backups
hash tmutil &> /dev/null && sudo tmutil disablelocal

###############################################################################
# Address Book, Dashboard, iCal, TextEdit, and Disk Utility                   #
###############################################################################

# Enable the debug menu in Address Book
#defaults write com.apple.addressbook ABShowDebugMenu -bool true

# Enable Dashboard dev mode (allows keeping widgets on the desktop)
#defaults write com.apple.dashboard devmode -bool true

# Disable Dashboard
defaults write com.apple.dashboard mcx-disabled -bool true

# Use plain text mode for new TextEdit documents
defaults write com.apple.TextEdit RichText -int 0
# Open and save files as UTF-8 in TextEdit
defaults write com.apple.TextEdit PlainTextEncoding -int 4
defaults write com.apple.TextEdit PlainTextEncodingForWrite -int 4

# Enable the debug menu in Disk Utility
#defaults write com.apple.DiskUtility DUDebugMenuEnabled -bool true
#defaults write com.apple.DiskUtility advanced-image-options -bool true

###############################################################################
# Google Chrome & Google Chrome Canary                                        #
###############################################################################

# Allow installing user scripts via GitHub or Userscripts.org
defaults write com.google.Chrome ExtensionInstallSources -array "https://*.github.com/*" "http://userscripts.org/*"
defaults write com.google.Chrome.canary ExtensionInstallSources -array "https://*.github.com/*" "http://userscripts.org/*"

###############################################################################
# Power                                                                       #
###############################################################################

# Battery

# Computer sleep: 10 min
# sudo pmset -b sleep 10

# Display sleep: 5 min
# sudo pmset -b displaysleep 5

# Put the hard disk(s) to sleep when possible: 10 min
# sudo pmset -b disksleep 10

# Slightly dim the display when using this power source
# sudo pmset -b lessbright 1

# Automatically reduce brightness before display goes to sleep
# sudo pmset -b halfdim 1

# Power Adapter

# Computer sleep: 30 min
# sudo pmset -c sleep 30

# Display sleep: 10 min
# sudo mset -c displaysleep 10

# Put the hard disk(s) to sleep when possible: 10 min
# sudo pmset -c disksleep 10

# Wake for network access
# sudo pmset -c womp 0

# Automatically reduce brightness before display goes to sleep
# sudo pmset -c halfdim 1

# Start up automatically after a power failure
# sudo pmset -c autorestart 1

# Restart automatically if the computer freezes
# sudo pmset -c panicrestart 15

###############################################################################
# Photos                                                                      #
###############################################################################

# Prevent Photos from opening automatically when devices are plugged in
defaults -currentHost write com.apple.ImageCapture disableHotPlug -bool true

###############################################################################
# Messages                                                                    #
###############################################################################

# Disable automatic emoji substitution (i.e. use plain text smileys)
defaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "automaticEmojiSubstitutionEnablediMessage" -bool false

# Disable smart quotes as it’s annoying for messages that contain code
defaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "automaticQuoteSubstitutionEnabled" -bool false

# Disable continuous spell checking
defaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "continuousSpellCheckingEnabled" -bool false


###############################################################################
# Kill affected applications                                                  #
###############################################################################

for app in "Address Book" "Calendar" "Contacts" "Dashboard" "Dock" "Finder" \
	"Mail" "Safari" "SystemUIServer" "Terminal" "iCal" "iTunes" "NotificationCenter"; do
	killall "$app" > /dev/null 2>&1
done
echo "Done. Note that some of these changes require a logout/restart to take effect."

I downloaded and edited this script from here http://dotfiles.github.io/

If it is not broken, let's fix till it is. 

Link to comment
Share on other sites

Link to post
Share on other sites

if I use this script, here's the error message I get: 

(I have already installed home-brew on my machine.)

 

 


echo "brew install"
brew install caskroom/cask/brew-cask
brew tap caskroom/versions
brew install git
brew install wget
brew install mas
brew install mysql
brew install node@10
brew install npm

echo "updating app lists"
brew update
brew upgrade --all

echo "brew cask install"
brew cask install firefox-developer-edition
brew cask install the-unarchiver #uzip and stuff
brew cask install firefox
brew cask install google-chrome
brew cask install dropbox
brew cask install libreoffice
brew cask install skype
brew cask install whatsapp
brew cask install transmission
brew cask install alfred #of course alfred!
brew cask alfred link # Link alfred to apps
brew cask install appcleaner #install/ uninstall for mac
brew cask install vlc
brew cask install iina
brew cask install expressvpn


#development
brew cask install sourcetree # git client
brew cask install github-desktop #github desktop client
brew cask install slack #collaboration tool
brew cask install sublime-text #text editor
brew cask install visual-studio-code #VS CODE
brew cask install webstorm #webstorm IDE
brew cask install iterm2 #terminal
brew cask install docker #docker
brew cask install java #java
brew cask install mamp
brew cask install codekit


#Containers and stuff
brew cask install vagrant #vagrant vm provisioning
brew cask install vagrant-manager #excellent GUI app for vagrant
brew cask install packer #tool to create vms 
brew cask install virtualbox #tool to create vms


brew cleanup;
brew cask cleanup;

 

 

 

error message: 

 

zhouxiangs-Mac-mini:~ zhouxiang$ sh /Users/zhouxiang/Desktop/brew\ copy.sh 
: command not foundsktop/brew copy.sh: line 1: 
brew install
" ror: No available formula with the name "caskroom/cask/brew-cask
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Tapping homebrew/cask-versions
'...ing into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask-versions
remote: Enumerating objects: 230, done.
remote: Counting objects: 100% (230/230), done.
remote: Compressing objects: 100% (213/213), done.
remote: Total 230 (delta 15), reused 212 (delta 15), pack-reused 0
Receiving objects: 100% (230/230), 92.80 KiB | 3.87 MiB/s, done.
Resolving deltas: 100% (15/15), done.
Tapped 209 casks (250 files, 351.5KB).
It looks like you tapped a private repository. To avoid entering your
credentials each time you update, you can use git HTTP credential
caching or issue the following command:
  cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask-versions
.gitt remote set-url origin git@github.com:Homebrew/homebrew-cask-versions
" ror: No available formula with the name "git
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
These similarly named formulae were found:
bagit                      git-multipush              git-when-merged
bash-git-prompt            git-now                    gitbucket
cgit                       git-number                 giter8
digitemp                   git-octopus                gitfs
easy-git                   git-open                   gitg
git                        git-plus                   github-keygen
git-annex                  git-quick-stats            github-markdown-toc
git-appraise               git-recent                 github-release
git-archive-all            git-remote-hg              gitlab-gem
git-cal                    git-review                 gitlab-runner
git-cinnabar               git-secret                 gitless
git-cola                   git-secrets                gitmoji
git-credential-manager     git-series                 gitslave
git-crypt                  git-sh                     gitter-cli
git-extras                 git-sizer                  gitup
git-fixup                  git-ssh                    gitversion
git-flow                   git-standup                legit
git-flow-avh               git-subrepo                libgit2
git-fresh                  git-svn-abandon            libgit2-glib
git-ftp                    git-test                   modgit
git-game                   git-tf                     moz-git-tools
git-gerrit                 git-tig                    pygitup
git-hooks                  git-town                   sagittarius-scheme
git-if                     git-tracker                stgit
git-imerge                 git-url-sub                topgit
git-integration            git-utils                  willgit
git-lfs                    git-vendor                 zsh-git-prompt
To install one of them, run (for example):
  brew install bagit
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
" ror: No available formula with the name "wget
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
These similarly named formulae were found:
wget                                     wgetpaste
To install one of them, run (for example):
  brew install wget
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
" ror: No available formula with the name "mas
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
These similarly named formulae were found:
datamash                   l-smash                    massren
dnsmasq                    mas                        whatmask
gsettings-desktop-schemas  masscan
To install one of them, run (for example):
  brew install datamash
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
" ror: No available formula with the name "mysql
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
These similarly named formulae were found:
automysqlbackup            mysql-connector-c          mysql@5.5
mysql                      mysql-connector-c++        mysql@5.6
mysql++                    mysql-sandbox              mysql@5.7
mysql-client               mysql-search-replace       mysqltuner
mysql-cluster              mysql-utilities
To install one of them, run (for example):
  brew install automysqlbackup
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
" ror: No available formula with the name "node@10
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
This similarly named formula was found:
node@10
To install it, run:
  brew install node@10
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
" ror: No available formula with the name "npm
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
This similarly named formula was found:
npm
To install it, run:
  brew install npm
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
: command not foundsktop/brew copy.sh: line 11: 
updating app lists
^C
zhouxiangs-Mac-mini:~ zhouxiang$ clear

zhouxiangs-Mac-mini:~ zhouxiang$ sh /Users/zhouxiang/Desktop/brew\ copy.sh 
: command not foundsktop/brew copy.sh: line 1: 
brew install
" ror: No available formula with the name "caskroom/cask/brew-cask
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
" ror: No available formula with the name "git
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
These similarly named formulae were found:
bagit                      git-multipush              git-when-merged
bash-git-prompt            git-now                    gitbucket
cgit                       git-number                 giter8
digitemp                   git-octopus                gitfs
easy-git                   git-open                   gitg
git                        git-plus                   github-keygen
git-annex                  git-quick-stats            github-markdown-toc
git-appraise               git-recent                 github-release
git-archive-all            git-remote-hg              gitlab-gem
git-cal                    git-review                 gitlab-runner
git-cinnabar               git-secret                 gitless
git-cola                   git-secrets                gitmoji
git-credential-manager     git-series                 gitslave
git-crypt                  git-sh                     gitter-cli
git-extras                 git-sizer                  gitup
git-fixup                  git-ssh                    gitversion
git-flow                   git-standup                legit
git-flow-avh               git-subrepo                libgit2
git-fresh                  git-svn-abandon            libgit2-glib
git-ftp                    git-test                   modgit
git-game                   git-tf                     moz-git-tools
git-gerrit                 git-tig                    pygitup
git-hooks                  git-town                   sagittarius-scheme
git-if                     git-tracker                stgit
git-imerge                 git-url-sub                topgit
git-integration            git-utils                  willgit
git-lfs                    git-vendor                 zsh-git-prompt
To install one of them, run (for example):
  brew install bagit
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
" ror: No available formula with the name "wget
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
These similarly named formulae were found:
wget                                     wgetpaste
To install one of them, run (for example):
  brew install wget
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
" ror: No available formula with the name "mas
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
These similarly named formulae were found:
datamash                   l-smash                    massren
dnsmasq                    mas                        whatmask
gsettings-desktop-schemas  masscan
To install one of them, run (for example):
  brew install datamash
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
" ror: No available formula with the name "mysql
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
These similarly named formulae were found:
automysqlbackup            mysql-connector-c          mysql@5.5
mysql                      mysql-connector-c++        mysql@5.6
mysql++                    mysql-sandbox              mysql@5.7
mysql-client               mysql-search-replace       mysqltuner
mysql-cluster              mysql-utilities
To install one of them, run (for example):
  brew install automysqlbackup
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
" ror: No available formula with the name "node@10
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
This similarly named formula was found:
node@10
To install it, run:
  brew install node@10
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
" ror: No available formula with the name "npm
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
This similarly named formula was found:
npm
To install it, run:
  brew install npm
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
: command not foundsktop/brew copy.sh: line 11: 
updating app lists
Error: Unknown command: update
: command not foundsktop/brew copy.sh: line 15: 
brew cask install
==> Tapping homebrew/cask
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask'...
remote: Enumerating objects: 4164, done.
remote: Counting objects: 100% (4164/4164), done.
remote: Compressing objects: 100% (4153/4153), done.
remote: Total 4164 (delta 26), reused 487 (delta 8), pack-reused 0
Receiving objects: 100% (4164/4164), 1.33 MiB | 4.15 MiB/s, done.
Resolving deltas: 100% (26/26), done.
Checking out files: 100% (4149/4149), done.
Tapped 1 command and 4066 casks (4,174 files, 4.2MB).
Error: Cask 'firefoxdeveloperedition' is unavailable: No Cask with this name exists. Did you mean “firefox-developer-edition”?
==> Satisfying dependencies
==> Downloading https://dl.devmate.com/com.macpaw.site.theunarchiver/120/1528909
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask 'the-unarchiver'.
==> Installing Cask the-unarchiver
==> Moving App 'The Unarchiver.app' to '/Applications/The Unarchiver.app'.
?  the-unarchiver was successfully installed!
' is unavailable: No Cask with this name exists. Did you mean one of these?
firefox                    firefox-developer-edition  firefox-nightly
firefox-beta               firefox-esr                multifirefox
' is unavailable: No Cask with this name exists. Did you mean one of these?
google-chrome                            google-chrome-canary
google-chrome-beta                       google-chrome-dev
' is unavailable: No Cask with this name exists. Did you mean one of these?
dropbox                    dropbox-beta               dropbox-encore
' is unavailable: No Cask with this name exists. Did you mean one of these?
libreoffice                libreoffice-rc             libreofficedev
libreoffice-language-pack  libreoffice-still
^C
^C

It seems that home-brew cannot find the package git from its repo? 

If it is not broken, let's fix till it is. 

Link to comment
Share on other sites

Link to post
Share on other sites

Yes, it's a BASH script. No, you shouldn't run BASH scripts with SH, BASH has features that aren't available in SH (basically, it's an improvement on SH).

See if you can run it by setting the execute bit (chmod +x ./script.sh) and running it (./script.sh) (it already has a shebang (#!/bin/bash) which tells the OS what shell/program to run it with)

Desktop: HP Z220 Workstation, 12 GB RAM, 2x500 GB HDD RAID0, + GTX 1060 3GB

Laptop: ThinkPad T430, 8 GB RAM, 1x120 GB SSD

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, TakataruMC said:

Yes, it's a BASH script. No, you shouldn't run BASH scripts with SH, BASH has features that aren't available in SH (basically, it's an improvement on SH).

See if you can run it by setting the execute bit (chmod +x ./script.sh) and running it (./script.sh) (it already has a shebang (#!/bin/bash) which tells the OS what shell/program to run it with)

thanks! I've made it work using your method.

one question. do i have to put those shell script under home directory when I execute them? 

or I can put them anywhere? 

If it is not broken, let's fix till it is. 

Link to comment
Share on other sites

Link to post
Share on other sites

What version of OS X are you using?

 

Looking at brew and cask documentation, this should be more up to date.

#!/bin/bash
#
#

# Check for brew
command -v brew >/dev/null 2>&1 || { echo >&2 "Homebrew not installed. Aborting."; exit 1; }

# Update and upgrade
brew tap caskroom/cask
brew update
brew upgrade
brew cask upgrade

# Core
brew install git
brew install wget
brew install mas
brew install mysql
brew install node@10

# Default Casks
brew cask install firefox-developer-edition
brew cask install the-unarchiver
brew cask install firefox
brew cask install google-chrome
brew cask install dropbox
brew cask install libreoffice
brew cask install skype
brew cask install whatsapp
brew cask install transmission
brew cask install alfred
brew cask alfred link
brew cask install appcleaner
brew cask install vlc
brew cask install iina
brew cask install expressvpn

# Devel Casks
brew cask install sourcetree
brew cask install github-desktop
brew cask install slack
brew cask install sublime-text
brew cask install visual-studio-code
brew cask install webstorm
brew cask install iterm2
brew cask install java
brew cask install mamp
brew cask install codekit

# Containers
brew cask install docker
brew cask install vagrant
brew cask install vagrant-manager
brew cask install packer
brew cask install virtualbox

# Cleanup
brew cleanup
brew cask cleanup
Link to comment
Share on other sites

Link to post
Share on other sites

12 minutes ago, mshaugh said:

hat version of OS X are you using?

 

Looking at brew and cask documentation, this should be more up to date.

I am currently on high sierra however when I get my new macbook pro I will be on mojave.

 

can I add this to the script? 

 

echo "installing homebrew now"

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

 

If it is not broken, let's fix till it is. 

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, mrchow19910319 said:

can I add this to the script?

# Check for brew
command -v brew >/dev/null 2>&1 || { echo "Installing homebrew now..."; /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"; }

 

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, mshaugh said:

# Check for brew
command -v brew >/dev/null 2>&1 || { echo "Installing homebrew now..."; /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"; }

 

I see. I can tap into cask then install using brew install, it won't mess up anything?

I thought we use `tap` to "tap into" different directories of brew? Is that the idea? 

 

If it is not broken, let's fix till it is. 

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, mrchow19910319 said:

I see. I can tap into cask then install using brew install, it won't mess up anything?

I thought we use `tap` to "tap into" different directories of brew? Is that the idea? 

 

 

Taps let you add formulae from additional repositories for brew to track, update, and install from.

tap [--full] [--force-auto-update] user/repo [URL]: Tap a formula repository.

With URL unspecified, taps a formula repository from GitHub using HTTPS. Since so many taps are hosted on GitHub, this command is a shortcut for brew tap user/repo https://github.com/user/homebrew-repo.

With URL specified, taps a formula repository from anywhere, using any transport protocol that git handles. The one-argument form of tap simplifies but also limits. This two-argument command makes no assumptions, so taps can be cloned from places other than GitHub and using protocols other than HTTPS, e.g., SSH, GIT, HTTP, FTP(S), RSYNC.

By default, the repository is cloned as a shallow copy (--depth=1), but if --full is passed, a full clone will be used. To convert a shallow copy to a full copy, you can retap passing --full without first untapping.

By default, only taps hosted on GitHub are auto-updated (for performance reasons). If --force-auto-update is passed, this tap will be auto-updated even if it is not hosted on GitHub.

tap is re-runnable and exits successfully if there’s nothing to do. However, retapping with a different URL will cause an exception, so first untap if you need to modify the URL.

You can then brew install forumlae from that repository, as it is now being tracked. But what happens if two formulae have the same name?

brew install foo                     # installs from homebrew/core
brew install username/repo/foo       # installs from your custom repository

So I assume `brew cask install foo` is some fancy wrapper of `brew install caskroom/cask/foo`. I'm not entirely sure of the implementation though, so stick with brew cask for casks.

Link to comment
Share on other sites

Link to post
Share on other sites

6 minutes ago, mshaugh said:

 

I see. thanks for the info. 

this is so much easier than 

go to the website

find download page

download the dmg file

install it on your system

trash the img file

 

 

lol

If it is not broken, let's fix till it is. 

Link to comment
Share on other sites

Link to post
Share on other sites

@mshaugh  how does `mas` handle apps purchased on different Apple ID? 

 

I have two apple ID that I switch between. I am just curious... Have you run into any similar scenario like this? 

If it is not broken, let's fix till it is. 

Link to comment
Share on other sites

Link to post
Share on other sites

49 minutes ago, mrchow19910319 said:

@mshaugh  how does `mas` handle apps purchased on different Apple ID? 

 

I have two apple ID that I switch between. I am just curious... Have you run into any similar scenario like this? 

I assume:

mas signin account1@example.com
mas install foo
mas signout
mas signin account2@example.com
mas install bar
Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, mshaugh said:

I assume:


mas signin account1@example.com
mas install foo
mas signout
mas signin account2@example.com
mas install bar

i see. thanks! 

If it is not broken, let's fix till it is. 

Link to comment
Share on other sites

Link to post
Share on other sites

2 hours ago, mrchow19910319 said:

thanks! I've made it work using your method.

one question. do i have to put those shell script under home directory when I execute them? 

or I can put them anywhere? 

Well, it depends on the script. If the script needs to use/modify files present in the home directory, and if it uses the current path to execute, then yes.

However, if the script is like the one you've posted, which doesn't modify anything under the home directory, then it's not required. You can place it anywhere you want

Desktop: HP Z220 Workstation, 12 GB RAM, 2x500 GB HDD RAID0, + GTX 1060 3GB

Laptop: ThinkPad T430, 8 GB RAM, 1x120 GB SSD

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, TakataruMC said:

Well, it depends on the script. If the script needs to use/modify files present in the home directory, and if it uses the current path to execute, then yes.

However, if the script is like the one you've posted, which doesn't modify anything under the home directory, then it's not required. You can place it anywhere you want

thanks! 

If it is not broken, let's fix till it is. 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share


×