Почему эта команда запускает бесконечные терминалы и как заставить ее работать?

0
задан 20.05.2020, 00:49

2 ответа

#!/bin/bash
gnome-terminal -x bash -c "cd ~/Downloads/youtube; youtube-dl \"$@\"; read -p \"Press [Enter] key\""

Это - то, как я на самом деле решил это.

0
ответ дан 20.05.2020, 00:49
  • 1
    Don' t встраивают аргументы в сценарий. Это очень подвержено ошибкам. Вместо этого передайте их как аргументы: gnome-terminal -x bash -c 'cd ~/Downloads/youtube && youtube-dl "$@"; read -p "Press [Enter] key"' _ "$@" – sawa 20.05.2020, 00:50

Чтобы выполнить команду в gnome-terminal, и безопасно передать аргументы ему, необходимо использовать -x опция, так как это старается не анализировать строку двумя оболочками.

#!/usr/bin/env bash
gnome-terminal -x youtube-dl "$@"
0
ответ дан 20.05.2020, 00:50

Теги

Похожие вопросы