我正在尝试在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 /path
,tar-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
赋予它完全的可执行权限。