我正在尝试在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个单独的文件,然后从整个目录中创建tar.archive。文件管理器”目录。我认为脚本是正确的,我只能用一只手来运行脚本。
答案 0 :(得分:0)
除了几次输入错误(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
赋予其完整的可执行权限。