¿Cómo puedo crear una secuencia de commands con command múltiple

Intenté crear una secuencia de commands en OS X. Hago algo mal. Quiero ejecutar 2 commands:

defaults write com.apple.finder CreateDesktop -bool true 

y

 killall Finder 

Guardé y modifiqué el file, pero obtuve algunos errores:

 /Users/max/Desktop/visible.command ; exit; MacBook-Pro-de-Maxime:~ max$ /Users/max/Desktop/visible.command ; exit; /Users/max/Desktop/visible.command: line 1: {rtf1ansiansicpg1252cocoartf1343cocoasubrtf160: command not found /Users/max/Desktop/visible.command: line 2: syntax error near unexpected token `}' /Users/max/Desktop/visible.command: line 2: `{\fonttbl\f0\fnil\fcharset0 Menlo-Regular;\f1\fmodern\fcharset0 Courier;}' logout 

salida

¡Gracias por tu ayuda!

2 Solutions collect form web for “¿Cómo puedo crear una secuencia de commands con command múltiple”

Ha guardado su file como un file de formatting de text enriquecido (.rtf)

En TextEdit.app

Abra su file y use el menu Hacer text sin formatting para cambiarlo al formatting correcto para la encoding.

Usar cualquier cosa que no sea el text del plan significará que el file incluye el código de formatting para los styles y tal que sea visible para la capa del caparazón pero no para el usuario cuando vea el file.

Por ejemplo.

El file de formatting de text enriquecido con la extensión modificada sigue siendo un file de text enriquecido

enter image description here


Leyendo desde la línea de command.

$ cat foo.command

 {\rtf1\ansi\ansicpg1252\cocoartf1344\cocoasubrtf720 {\fonttbl\f0\fnil\fcharset0 Menlo-Regular;} {\colortbl;\networking255\green255\blue255;\networking43\green39\blue19;\networking234\green234\blue234;\networking37\green127\blue159; } \paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0 \deftab720 \pard\pardeftab720 \f0\fs26 \cf2 \cb3 \expnd0\expndtw0\kerning0 defaults write com.apple.finder \cf4 \expnd0\expndtw0\kerning0 CreateDesktop\cf2 \expnd0\expndtw0\kerning0 -bool true} 

Cambia al text simple y vuelve a save.

enter image description here


enter image description here


Lee desde la línea de command.

 $ cat foo.command defaults write com.apple.finder CreateDesktop -bool true 

(los ejemplos son solo para ilustración y no cómo hacer la encoding real)

Si solo necesita ejecutar dos commands a través de un script, puede crear algo como esto, abrir un editor de text y agregar:

 #!/bin/bash echo foo && echo bar 

Guárdelo como foo.sh, luego:

 $ sh ./foo.sh foo bar 

El && permite ejecutar dos commands, uno después del otro, o simplemente puede poner los commands en diferentes líneas.

En su caso, reemplace echo foo con los defaults write com.apple.finder CreateDesktop -bool true por defaults write com.apple.finder CreateDesktop -bool true y reemplace echo bar con killall Finder . Probablemente necesites ejecutar foo.sh con foo.sh elevados usando $ sudo sh ./foo.sh ya que estás cambiando los valores pnetworkingeterminados y matando a los pids.

Es posible que deba hacerlo ejecutable también:

chmod +x foo.sh

Ver https://stackoverflow.com/questions/8409946/how-do-i-make-this-file-sh-executable-via-double-click

  • ¿Cuál es la contraseña de firmware de mi MacBook después de usar setregproptool?
  • ¿Cómo hacer que un post aparezca en la pantalla?
  • AppleScript: establece el resultado del script como variable
  • ¿Hay un equivalente a ionice en macOS?
  • ¿Cómo forzar a OS X a otorgar una concesión de IP diferente con DHCP?
  • Modo de usuario único, recuperación de datos, assembly usb
  • logger vs syslog -s
  • ¿Es posible establecer una image de vista previa de vista rápida personalizada en OS X?
  • Verificar el encryption de la máquina del time desde la línea de command?
  • ¿Cómo pasar el nombre de file / references de un script de shell a la acción posterior de Automator?
  • Fecha de creación del set recursivo de imágenes y videos basados ​​en nombre de file
  • Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).