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

#!/bin/bash
gnome-terminal --command='/home/user23/bin/n-youtube-dl "$1"'

Я хочу передать аргумент, переданный этому скрипту, другому скрипту, запущенному в терминале. Но это начинает бесконечные терминалы гномов.

Можете ли вы объяснить, почему это так и как это сделать?

Я запускаю zsh, имеет мою основную оболочку, если это имеет значение, терминал запускает

Обновление:

#!/bin/bash
gnome-terminal --command='echo "WTF"'
read -p "Press [Enter] key"

Просто закрывает термин быстрее, чем я вижу WTF. Разве он не должен останавливаться? То же самое касается замены WTF на $1 снова, нет респауна.

1
задан 13 April 2014 в 13:45

1 ответ

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

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

1
ответ дан 24 May 2018 в 09:31
  • 1
    Не вставляйте аргументы в скрипт. Это очень склонно к ошибкам. Вместо этого передайте их как аргументы: gnome-terminal -x bash -c 'cd ~/Downloads/youtube && youtube-dl "$@"; read -p "Press [Enter] key"' _ "$@" – geirha 13 April 2014 в 15:32

Другие вопросы по тегам:

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