Linux 中 请尝试编写一个Shell脚本,完成如下功能:提示用户输入一个文件名,如果该文件存在,则打印该文件的详细信息,如果不存在,输出“文件名 does not exist”。
时间: 2024-02-28 13:56:06 浏览: 24
可以使用如下的 Shell 脚本来实现:
```
#!/bin/bash
echo "请输入文件名:"
read filename
if [ -e $filename ]; then
ls -l $filename
else
echo "$filename does not exist"
fi
```
使用 `read` 命令可以读取用户在键盘上输入的文件名。使用 `[ -e $filename ]` 来判断该文件是否存在,如果存在则使用 `ls -l $filename` 命令来打印该文件的详细信息。如果文件不存在,则输出提示信息:`$filename does not exist`。
相关问题
Linux 编写一个脚本,用户输入一个文件名,如果存在打印文件信息,如果不存在输出 no
可以使用 Shell 编写一个脚本,实现这个功能。以下是一个示例代码:
```bash
#!/bin/bash
read -p "请输入文件名:" filename
if [ -e "$filename" ]; then
echo "$filename 存在,文件信息如下:"
ls -l "$filename"
else
echo "$filename 不存在"
fi
```
用户运行这个脚本后,会提示输入文件名。如果输入的文件名存在,就会输出该文件的信息;否则输出不存在的提示信息。注意,这个脚本需要在 Linux 环境下运行,并且需要给脚本文件添加执行权限。可以使用 `chmod +x script.sh` 命令添加执行权限。
linux编写一个Shell脚本,使用while循环读取一个文件的内容,并输出每一行内容
好的,以下是一个简单的Shell脚本,使用while循环读取一个文件的内容,并输出每一行内容:
```bash
#!/bin/bash
while read line
do
echo $line
done < file.txt
```
脚本解释:
- `#!/bin/bash` 表示使用Bash作为脚本的解释器。
- `while read line` 表示从标准输入中读取每一行数据,并将其存储在 `line` 变量中。
- `echo $line` 输出 `line` 变量的值,即每一行的内容。
- `done` 表示循环体结束。
- `< file.txt` 表示将 `file.txt` 文件中的内容作为标准输入传递给该脚本。
执行该脚本,将会输出文件中每一行的内容。其中,`file.txt` 为需要读取的文件名,需要替换成实际的文件名。