Скрипт в OS X

Lonely Soul

Житель города
#1
Есть такой скрипт:
Код:
cValue = $(defaults read com.apple.Finder AppleShowAllFiles)
if [ ${cValue} = 1 ]
then
    defaults write com.apple.Finder AppleShowAllFiles 0
else
    defaults write com.apple.Finder AppleShowAllFiles 1
fi
killall Finder
Автоматор успешно исполняет, ошибок не пишет, но в cValue не попадает текущее значение параметра, первая строка не отрабатывает. Что не так написано?:bookworm:
 

Aliens

Меня знают многие ;-)
#2
Код:
set vis to do shell script "defaults read com.apple.Finder AppleShowAllFiles"
if vis = "0" then
do shell script "defaults write com.apple.Finder AppleShowAllFiles 1"
else
do shell script "defaults write com.apple.Finder AppleShowAllFiles 0"
end if
tell application "Finder" to quit
delay 1
tell application "Finder" to activate
 

Aliens

Меня знают многие ;-)
#4
Надо набрать этот текст в редакторе и сохранить как приложение app. При запуске оно будет переключать видимость системных файлов.
 

Aliens

Меня знают многие ;-)
#5

У меня работает. И твой скрипт заработает если в обращениях к строкам слово finder с мал. буквы напишешь.
 

Lonely Soul

Житель города
#6
Теперь понятно, я это делал в Automator через "Запустить shell-скрипт" :) Но все равно в таком варианте не заработало, заменил последние 3 строки на:
Код:
...
delay 1
do shell script "killall Finder"
Работает. Спасибо :)
 

Aliens

Меня знают многие ;-)
#7
Я себе сохранил в проги как app, удобная весчь, до твоего поста писал в терминале ручками :) Так что и тебе спасибо за мысль.
 

Lonely Soul

Житель города
#8
Я добавил как службу и повесил хоткей. Теперь, если активное окно Finder, при нажатии хоткея автоматом переключает))