我正在尝试打开脚本中的特定文件夹:
#!/bin/bash
# Download youtube videos
xterm -e /home/pst007x/Downloads/ youtube-dl https://youtu.be/-pjc1sWw6Dw
发生了什么事?终端正在打开,但我的权限被拒绝。
这也许是一个愚蠢的问题,但是我如何运行脚本来在特定文件夹中打开终端?
我有权限访问该文件夹。
谢谢
编辑:
这有效感谢:
xterm -e 'cd /home/pst007x/Downloads/ && youtube-dl https://youtu.be/-pjc1sWw6Dw'
答案1
您需要使用和-e
选项转到所需目录,例如。棘手的部分是该命令将在您的登录 shell 的非交互式会话中运行,因此如果您想保持 shell 会话打开,请在之后直接添加所需的 shell,例如在该目录上打开:xterm
cd
cd /foo/bar/
bash
xterm -e 'cd /foo/bar/ && bash'
如果您的目标是运行一次性命令,那么只需直接使用该命令(如果不确定,最好使用绝对路径),无需生成 shell。
答案2
确保你的脚本具有执行权限。你可以通过以下命令授予执行权限。
sudo chmod +x <yourscriptname.sh>
您可以使用以下命令保存到您的下载文件夹。
youtube-dl -o /home/pst007x/Downloads/ https://youtu.be/-pjc1sWw6Dw