El operador > file
abre el file
para escribir pero lo trunca inicialmente. Eso significa que cada nuevo > file
hace que se reemplace el contenido del archivo.
Si desea que myErrors.txt
contenga el error de todos los comandos, debe abrir ese archivo solo una vez o usar >
la primera vez y >>
las otras veces (que abre el archivo en añadir modo ).
Aquí, si no le importan los errores pushd
/ popd
para ir también al archivo de registro, puede redirigir todo el bucle for
:
for dir in public_html/*/; do
if pushd "$dir"; then
wp plugin update --all
wp core update
wp language core update
wp theme update --all
popd
fi
done 2>myErrors.txt
O puede abrir el archivo de registro en un fd superior a 2, 3, por ejemplo, y usar2>&3
(o 2>&3 3>&-
para no contaminar los comandos con fds que no necesitan )para cada comando o grupo de comandos que desea redirigir al archivo de registro:
for dir in public_html/*/; do
if pushd "$dir"; then
{
wp plugin update --all
wp core update
wp language core update
wp theme update --all
} 2>&3 3>&-
popd
fi
done 3>myErrors.txt
Принцип работы X-программ заключается в том, что они ищут переменную с именем DISPLAY
, содержащую идентификатор X-сервера, к которому она должна подключиться, а затем подключаются к этому X-серверу.
На вашей виртуальной машине не запущен X-сервер. Однако MacOS может запускать X-сервер (, который вызывает XQuartz ), и вы можете ssh
перенаправлять X-соединения на этот сервер (либо с помощью ssh -X
, либо с помощью файла конфигурации, см. справочные страницы ). ]. Это автоматически установитDISPLAY
(проверку поecho $DISPLAY
)и установит «фальшивую конечную точку X-сервера» на виртуальной машине, которая может использоваться xclip
и т. д.
Возможно, вам придется вручную запускать XQuartz на MacOS, я никогда не пробовал переадресацию X оттуда.