【问题标题】:Change directory in a startup script debian在启动脚本 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

标签: linux bash shell command


【解决方案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 用户
猜你喜欢
  • 2021-08-15
  • 2016-02-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-16
  • 2021-04-07
  • 2014-04-12
  • 2014-04-12
  • 1970-01-01
相关资源
最近更新 更多