我正在尝试在bash中创建我的第一个shell脚本。我已经创建了代码,并且设法将脚本保存在主目录中,但是它无法运行。首先,我尝试使用以下命令从主目录运行它:./testscript.sh并以“权限被拒绝”作为响应,然后我尝试使用sudo ./testscript.sh然后出现“找不到命令”。

这是我的脚本:

#!/bin/bash

mkdir -p/home/filer
touch /home/filer/fil1
touch /home/filer/fil2
touch /home/filer/fil3
tar-zcvf file.tar.gz /home/filer


因此,我尝试创建一个脚本,该脚本将在主目录中创建一个名为“ filer”的目录,使用touch在“ filer”目录中创建3个单独的文件,然后在整个“ filer”目录中创建一个tar.archive。 。我认为脚本是正确的,我可以只用一只手来运行脚本。

最佳答案

除了几次输入错误(mkdir -p/path-> mkdir -p /pathtar-zcvf ...-> tar -zcvf ...)以外,您还应该使用$HOME环境变量引用主目录。 /home/filer是绝对目录路径,我假设它不是您的实际主目录。

#!/bin/bash

mkdir -p $HOME/filer
touch $HOME/filer/fil1
touch $HOME/filer/fil2
touch $HOME/filer/fil3
tar -zcvf file.tar.gz $HOME/filer


您可以将脚本./testscript.sh作为bash testscript.sh./testscript.sh执行。

在第二种情况下,脚本需要具有适当的可执行权限。 chmod +x ./testscript.sh赋予它完全的可执行权限。

10-04 20:58