执行脚本foo.sh时,请问以下哪些执行方式不需要foo.sh具有可执行权? A ./foo.sh B sh foo.sh c sh <foo.sh D source foo.sh
时间: 2024-03-18 13:35:35 浏览: 56
以下是不需要foo.sh具有可执行权的执行方式:
B. sh foo.sh
C. sh <foo.sh
. source foo.sh
解释:
A选项需要foo.sh具有可执行权,而B、C、D选项都是通过shell来执行foo.sh脚本,不需要foo.sh具有可执行权。其中B选项是直接执行foo.sh脚本,C选项是将foo.sh脚本作为标准输入传递给shell执行,D选项是在当前shell环境下执行foo.sh脚本。
相关问题
在系统上创建一个名为 /root/foo.sh 的脚本,让其提供下列特性: 当运行 /root/foo.sh redhat ,输出为 fedora 当运行 /root/foo.sh fedora ,输出为 redhat 当没有任何参数或者参数不是 redhat 或者 fedora 时,其错误输出产生以下的信息: /root/foo.sh redhat | fedora
好的,我理解了你的问题。以下是 /root/foo.sh 脚本的代码:
```bash
#!/bin/bash
if [[ $# -eq 0 ]]; then
echo "/root/foo.sh redhat | fedora"
elif [[ "$1" == "redhat" ]]; then
echo "fedora"
elif [[ "$1" == "fedora" ]]; then
echo "redhat"
else
echo "/root/foo.sh redhat | fedora"
fi
```
这个脚本会根据输入参数输出不同的信息。如果没有任何参数或者参数不是 redhat 或者 fedora,则输出 "/root/foo.sh redhat | fedora"。如果参数是 redhat,则输出 "fedora"。如果参数是 fedora,则输出 "redhat"。
请注意,在运行脚本之前,你需要先将其设置为可执行文件。你可以使用以下命令设置:
```bash
chmod +x /root/foo.sh
```
然后,你可以使用以下命令来运行脚本:
```bash
/root/foo.sh redhat
```
或者:
```bash
/root/foo.sh fedora
```
希望这个脚本能够满足你的需求!
阅读全文
相关推荐
















