web-dev-qa-db-fra.com

Comment ouvrir un dossier en utilisant un script bash exécutant un terminal

J'essaie d'ouvrir un dossier spécifique qui est dans un script:

    #!/bin/bash
    # Download youtube videos
    xterm -e /home/pst007x/Downloads/ youtube-dl https://youtu.be/-pjc1sWw6Dw

Que se passe-t-il lorsque le terminal est en train de s'ouvrir, mais l'autorisation est refusée?.

Peut-être une question stupide, mais comment puis-je exécuter un script pour ouvrir un terminal dans un dossier spécifique?

J'ai la permission d'accéder à ce dossier.

Merci

MODIFIER:

Cela a fonctionné merci:

xterm -e 'cd /home/pst007x/Downloads/ && youtube-dl https://youtu.be/-pjc1sWw6Dw'
1
pst007x

Vous devez utiliser les options -e de xterm et cd pour accéder au répertoire souhaité, par exemple. cd /foo/bar/. La difficulté réside dans le fait que la commande sera exécutée dans une session non interactive de votre shell de connexion. Par conséquent, si vous souhaitez conserver une session de shell ouverte, insérez le shell souhaité immédiatement après, par exemple. ouvrant bash sur ce répertoire:

xterm -e 'cd /foo/bar/ && bash'

Si votre objectif est d'exécuter une commande unique, utilisez-la directement (préférez utiliser le chemin absolu en cas de doute), inutile de générer un shell.

3
heemayl

Assurez-vous que votre script dispose d'une autorisation d'exécution. Vous pouvez donner une autorisation d'exécution en suivant la commande.

Sudo chmod +x <yourscriptname.sh>

Vous pouvez utiliser la commande suivante pour enregistrer dans votre dossier de téléchargement.

youtube-dl -o /home/pst007x/Downloads/  https://youtu.be/-pjc1sWw6Dw
0
Ketan Patel