Eu tenho um script simples escrito no bash para puxar as últimas mudanças no repo oficial do zith do gshub e construí-lo.
Eu também tenho outro script (ainda bash) que chama isso e outros scripts.
Além disso, tenho outro (desta vez escrito em python) que chama o segundo script.
Notei que desde ontem não me deu esse tipo de erro, mas agora em um ponto do meio eu entendo isso:
(eval):print:4: write error: broken pipe
(eval):4: write error: inappropriate ioctl for device
repetido na mesma ordem, algo como 10 vezes.
Isso só acontece quando é chamado pelo segundo script chamado pelo script python.
Se eu chamá-lo diretamente, ou o segundo script faz, mas não é chamado pelo script python.
Além disso, gostaria de especificar que não sou mestre em shell scripts e não posso alterar o material nas ferramentas internas necessárias para compilar o zsh.
Este é o script zsh:
#!/bin/bash
if [[ $EUID > 0 ]] ; then
echo "You need to be root for this script."
exit
fi
cd ~/Desktop/zsh
git pull origin master
./configure --prefix=/usr \
--mandir=/usr/share/man \
--bindir=/bin \
--infodir=/usr/share/info \
--enable-maildir-support \
--enable-etcdir=/etc/zsh \
--enable-function-subdirs \
--enable-site-fndir=/usr/local/share/zsh/site-functions \
--enable-fndir=/usr/share/zsh/functions \
--with-tcsetpgrp \
--with-term-lib="ncursesw" \
--enable-cap \
--enable-pcre \
--enable-readnullcmd=pager \
--enable-custom-patchlevel=Debian \
LDFLAGS="-Wl,--as-needed -g"
make
make check
sudo make install
sudo make install.info
Este é o segundo:
#!/bin/bash
if [[ $EUID > 0 ]] ; then
echo "You need to be root for this script."
exit
fi
echo "Building zsh."
build-zsh
clear
echo "Done building zsh, moving on to ssh."
build-ssh
clear
echo "Done building ssh, moving on to nmap."
build-nmap
clear
echo "Done building nmap."
echo "End of the script."
E este é o script python:
#!/usr/bin/env python3
import os
if os.geteuid() != 0:
exit("You need root privileges to run this script.")
comando = "apt-fix -y && apt-get update && apt-get -y upgrade && apt-get -y full-upgrade && apt-get -y dist-upgrade && \
apt-file update && apt -y autoremove --purge && apt -y clean"
spegnere = input ("Do you wish to turn shutdown after the process is completed? (y/n) ")
if spegnere.lower() == "y":
comando+= " && poweroff"
print("The pc will shutdown after the process is ended.")
os.system("build-all") # Second script
os.system(comando)