Este documento resume a configuração Zsh final e verificada para interagir com seu serviço Python por meio da linha de comando.
A configuração fornece três métodos distintos para acessar o serviço, desde a saída segura até a execução imediata.
Resumo da configuração da linha de comando Zsh¶
1. Arquivo de configuração¶
Todo o código abaixo deve ser colado em seu arquivo ~/.zshrc. Lembre-se de source ~/.zshrc ou abra uma nova sessão de terminal após fazer alterações.
2. O bloco de código final¶
Este bloco define as três funções necessárias. Inclui os comandos unalias necessários para evitar o erro de conflito que encontramos anteriormente.
# ===================================================================
# == 1. sl: Output Only (Safe Mode - Just prints the result)
# ===================================================================
# Unalias 'sl' in case it was previously defined as a simple alias
unalias sl 2>/dev/null
sl() {
if [ $# -eq 0 ]; then
echo "question <your question>"
return 1
fi
/home/seeh/projects/py/STT/.venv/bin/python3 /home/seeh/projects/py/STT/scripts/py/cli_client.py "$*" --lang "de-DE"
}
# source ~/.zshrc
# ===================================================================
# == 2. slz: Zsh Line Insertion (Safe Prep Mode - Paste output to prompt)
# ===================================================================
# Unalias 'slz' in case it was previously defined as an alias
unalias slz 2>/dev/null
slz() {
if [ $# -eq 0 ]; then
echo "Usage: slz <your question whose result should be pasted to the line>"
return 1
fi
# 1. Execute the client and capture the output (the command string)
# "$*" ensures all arguments are passed as a single string to the CLI client.
COMMAND=$(/home/seeh/projects/py/STT/.venv/bin/python3 \
/home/seeh/projects/py/STT/scripts/py/cli_client.py \
"$*" --lang "de-DE")
# 2. Use 'print -z' to paste the captured command into the current prompt line.
print -z "$COMMAND"
}
# source ~/.zshrc
# ===================================================================
# == 3. slxXsoidfuasdzof: Immediate Execution (DANGEROUS MODE)
# ===================================================================
# Unalias the long name in case it was previously defined
unalias slxXsoidfuasdzof 2>/dev/null
slxXsoidfuasdzof() {
if [ $# -eq 0 ]; then
echo "Usage: slx <your question whose result will be executed immediately>"
return 1
fi
# Führt den CLI-Client aus und speichert die Ausgabe in der Variable 'COMMAND'
COMMAND=$(/home/seeh/projects/py/STT/.venv/bin/python3 \
/home/seeh/projects/py/STT/scripts/py/cli_client.py \
"$*" \
--lang "de-DE")
# Check if any output was received
if [ -n "$COMMAND" ]; then
echo "--> Ausführen des Befehls: $COMMAND"
echo "--> Executing command: $COMMAND"
# DANGER: 'eval' executes the command string immediately
eval "$COMMAND"
else
echo "No command output received from the service."
fi
}
# source ~/.zshrc
3. Uso dos Três Comandos¶
Comando |
Funcionalidade |
Nível de segurança |
Exemplo |
|---|---|---|---|
|
Saída padrão: Executa o serviço e imprime toda a saída diretamente no console. |
SEGURO |
|
|
Preparação para Execução Segura: Executa o serviço e cola a saída (por exemplo, um comando shell) na linha de entrada Zsh, pronta para revisão ou execução. |
SEGURO/PREP |
|
|
Execução Imediata: Executa o serviço e executa imediatamente a saída como um comando shell. Use o nome enigmático como medida de segurança. |
PERIGOSO |
|