在启动脚本 debian 中更改目录
Posted
技术标签:
【中文标题】在启动脚本 debian 中更改目录【英文标题】:Change directory in a startup script debian 【发布时间】:2021-08-15 12:40:52 【问题描述】:我正在使用 GCP Compute Engine 运行一个 debian VM 实例,并且我添加了一个要在启动时执行的自动化脚本。
启动时会下载的工具很少。唯一的问题是,所有内容都下载到 / 目录中。
我需要下载 $HOME 目录中的所有内容。
我尝试过的不同方法
#!/bin/bash
set -x
cd $HOME
mkdir $HOME/test
cd $HOME/test
apt install wget -y
wget https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz
#!/bin/bash
set -x
source $HOME
mkdir $HOME/something
#!/bin/bash
set -x
cd $HOME
mkdir $HOME/something
exec bash
仍然是在/目录下下载的。这里还能做什么?
【问题讨论】:
source $HOME
?它有什么作用?在任何情况下,使用调试标志-x
来运行您的脚本。要么把它放在 shebang set -x
之后,要么运行你的脚本 bash -x ./myscript
我刚试过用source,我也试过用set -x
【参考方案1】:
您正在尝试做两件事:安装 wget 包并下载另一个。
你为什么不尝试手动安装 wget ?
apt-get install wget
然后,您必须存储脚本的完整路径,并下载所需的包。试试这个:
#!/bin/bash
homePath=$HOME
mkdir $HOME/test
wget https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz -P $homePath/test/
【讨论】:
可以说我想在 $HOME 目录中执行 mkdir 而不是下载,但它不起作用 如果您想获得帮助,请与我们分享您的完整代码。我已经回答了提供的信息 我已修改问题以包含代码 在尝试帮助您了解更多有关您的问题之前,请回答以下问题:错误消息/错误代码是什么?你对这个用户有 sudo 权限吗?您对您的文件夹有访问/读/写权限吗? 我没有收到任何错误,如果我在进入终端后运行脚本,它工作正常,但我将其用作启动脚本。是的,我是 root 用户以上是关于在启动脚本 debian 中更改目录的主要内容,如果未能解决你的问题,请参考以下文章
debian 6.0 中怎么把一个shell 开机自动运行啊