编写一个名为W字母的shell程序,实现以下功能: 从标准输入输入字符串,如果该字符串是本目录下的某个目录的目录名,则显示该目录下所有文件的详细信息;如果是本目录下的一个文件名,则复制该文件到当前目录并命名为42
时间: 2023-06-14 08:02:40 浏览: 88
以下是实现这个功能的W.sh脚本代码:
```bash
#!/bin/bash
read input
if [ -d "./$input" ]; then
ls -l "./$input"
elif [ -f "./$input" ]; then
cp "./$input" "./42"
fi
```
该脚本先从标准输入读取用户输入的字符串,然后判断该字符串是否是本目录下的一个目录名或者文件名。如果是一个目录名,则使用ls命令显示该目录下所有文件的详细信息;如果是一个文件名,则使用cp命令将该文件复制到当前目录并命名为42。
相关问题
6.编写一个shell程序,实现以下功能: 从标准输入输入字符串,如果该字符串是本目录下的某个目录的目录名,则显示该目录下所有文件的详细信息;如果是本目录下的一个文件名,则显示该文件内容。
可以使用以下的shell脚本来实现该功能:
```bash
#!/bin/bash
read input # 从标准输入读取输入字符串
if [ -d "./$input" ]; then # 判断输入字符串是否是一个目录名
ls -l "./$input" # 如果是,则显示该目录下所有文件的详细信息
elif [ -f "./$input" ]; then # 判断输入字符串是否是一个文件名
cat "./$input" # 如果是,则显示该文件内容
else
echo "Input is not a valid directory or file name." # 如果既不是目录名也不是文件名,则输出错误信息
fi
```
该脚本首先从标准输入读取输入字符串,然后使用`-d`选项判断输入字符串是否是一个目录名,如果是,则使用`ls -l`命令显示该目录下所有文件的详细信息;如果不是目录名,则使用`-f`选项判断输入字符串是否是一个文件名,如果是,则使用`cat`命令显示该文件内容;如果既不是目录名也不是文件名,则输出错误信息。
编写一个shell程序,判断输入的字符串是否为回文。 不使用rev命令
可以使用循环和切片来实现字符串的反转和比较。下面是一个简单的shell程序,可以判断输入的字符串是否为回文:
```bash
#!/bin/bash
echo "请输入一个字符串:"
read str
len=${#str}
mid=$((len/2))
for (( i=0; i<mid; i++ )); do
j=$((len-i-1))
if [[ ${str:i:1} != ${str:j:1} ]]; then
echo "$str 不是回文"
exit
fi
done
echo "$str 是回文"
```
我们可以先读取用户输入的字符串,然后使用 `${#str}` 来获取字符串的长度。接着,我们计算出字符串的中间位置,然后使用循环和切片来比较字符串的左右两部分是否相等。如果不相等,就可以判断该字符串不是回文。如果循环执行完毕,就可以判断该字符串是回文。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)