[root@localhost ~]# ./CheckHosts.sh -bash: ./CheckHosts.sh: 权限不够
时间: 2023-12-03 14:43:45 浏览: 89
这个错误是因为你没有执行该脚本的权限。你可以使用以下命令来给该脚本添加执行权限:
```
chmod +x CheckHosts.sh
```
然后再次运行该脚本即可。
相关问题
[root@localhost ~]# bash example19.sh -c example19 statement for command:example19如何实现
在这个问题中,命令行参数 `-c` 后面的字符串中包含了空格。因此,我们需要在脚本中对该字符串进行处理,以确保能够正确解析出命令。
下面是一个处理该字符串的示例脚本:
```bash
#!/bin/bash
while getopts "c:" option; do
case "${option}" in
c)
command="${OPTARG}"
;;
*)
echo "Invalid option: ${option}" >&2
exit 1
;;
esac
done
# 处理字符串,将空格替换成逗号
command=${command// /,}
# 执行命令
eval "${command}"
```
在上述脚本中,我们使用 `${command// /,}` 的语法来将字符串中的空格替换成逗号。如果您想要使用其他字符进行替换,只需要将其中的逗号替换成相应的字符即可。
如果您想要运行该脚本并执行命令 `example19 statement for command:example19`,可以使用以下命令:
```bash
$ bash example19.sh -c "echo example19,statement,for,command:example19"
```
该命令会输出:
```
example19 statement for command:example19
```
编写一个shell程序可以完成以下执行过程。 [root@localhost ~]# ./main.sh Input a list of number: 1 2 3 4 5 6 the result is 21 Input a list of number: 1 1 1 the result is 3 Input a list of number: q [root@localhost ~]#
好的,我可以为您编写这个shell程序。以下是程序的代码:
```
#!/bin/bash
while true; do
echo "Input a list of number:"
read input
sum=0
for num in $input; do
if [[ $num == "q" ]]; then
exit 0
fi
sum=$(($sum + $num))
done
echo "the result is $sum"
done
```
您可以将代码复制到一个名为`main.sh`的文件中,然后使用`chmod +x main.sh`命令将其设置为可执行文件。然后,在终端中运行`./main.sh`即可开始使用程序。
程序会要求您输入一个数字列表,数字之间用空格分隔。当您输入完数字后,程序会计算它们的总和并输出结果。如果您输入了字母"q",程序将会退出。