В настоящее время я работаю над сценарием оболочки для среды Mac малого бизнеса. Цель сценария - добавить несколько приложений в док-станцию.Mac Shell - команда работает в терминале, но не в оболочке
Я могу запускать команды через терминал отдельно, но я не могу запустить их в сценарии оболочки. Скрипт завершает команду «killall Dock», никаких ошибок или предупреждений.
Это код, который я попытался:
#!/bin/sh
defaults write com.apple.dock persistent-apps -array-add '<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>/Applications/Firefox.app</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>'
defaults write com.apple.dock persistent-apps -array-add '<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>/Applications/Calculator.app</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>'
defaults write com.apple.dock persistent-others -array-add '<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>/Users/Shared/RMS.fmp12</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>'
killall Dock
exit 0
Update:
Я попытался выполнить команду «значения по умолчанию», а в Баш (т.е. «Судо Баш»), и это не представляется, любой эффект.
Когда я запускаю ту же самую команду в обычном терминале, она работает.
defaults write com.apple.dock persistent-apps -array-add '<dict><key>tile-data</key><dict><key>file-data</key><dict><key>_CFURLString</key><string>/Applications/Firefox.app</string><key>_CFURLStringType</key><integer>0</integer></dict></dict></dict>'
Терминал запускает оболочку. Вы должны быть более конкретными, когда сбой сценария. –
Это не имеет никакого смысла. Я предполагаю, что когда вы говорите «запуск сценария», вы имеете в виду запуск их из терминала при входе в систему в обычном режиме? – Droppy
Я могу напечатать каждую строку этого сценария оболочки в окне терминала, вошедшего в систему как администратор, и каждая строка работает индивидуально. Когда я помещаю каждую строку в сценарий оболочки и пытаюсь выполнить сценарий оболочки через терминал. т. е. «sudo ./script.sh» только команда killall Dock работает, ничего другого не меняется. – user1553006