创建一个shell脚本,将/tmp目录下的.log(请先在/tmp目录下创建3个.log文件)文件移到指定的目录(从键盘任意读入的目录)下,显示移动后指定目录的内容。
时间: 2024-03-10 21:49:58 浏览: 16
好的,以下是你需要的shell脚本:
```shell
#!/bin/bash
# 读取指定的目录
read -p "请输入目标目录: " target_dir
# 移动.log文件到指定目录
mv /tmp/*.log $target_dir
# 显示移动后目标目录的内容
echo "移动后目标目录的内容为:"
ls -l $target_dir
```
请注意,在运行脚本之前,需要先在`/tmp`目录下创建三个`.log`文件。你可以使用`touch`命令创建这些文件,例如:
```shell
touch /tmp/file1.log
touch /tmp/file2.log
touch /tmp/file3.log
```
运行脚本后,它会要求你输入目标目录,并将`/tmp`目录下的`.log`文件移动到指定目录下。最后,它会显示移动后指定目录的内容。
相关问题
shell脚本编程,实现如下,创建文件bak_log,且赋予写的权限 1)如果/tmp/bak_log是一个文件,则打印“/tmp/bak_log is a file”否则打印“No,/tmp/bak_log is not a file” 2)如果/tmp/bak_log是可写的,则打印“/tmp/bak_log is writable”且把当前时间的时分秒写入/tmp/bak_log中,否则打印“unable wirte to /tmp/bak_log”
我可以为您解答这个问题。请先输入以下命令来实现创建文件bak_log并赋予写的权限:
```
touch /tmp/bak_log
chmod +w /tmp/bak_log
```
然后运行以下脚本来实现您的需求:
```
#!/bin/bash
if [ -f /tmp/bak_log ]; then
echo "/tmp/bak_log is a file"
else
echo "No, /tmp/bak_log is not a file"
fi
if [ -w /tmp/bak_log ]; then
echo "/tmp/bak_log is writable"
echo $(date +"%H:%M:%S") >> /tmp/bak_log
else
echo "unable to write to /tmp/bak_log"
fi
```
运行脚本后,如果/tmp/bak_log是一个文件,则输出“/tmp/bak_log is a file”,否则输出“No, /tmp/bak_log is not a file”;如果/tmp/bak_log是可写的,则输出“/tmp/bak_log is writable”,并将当前时间的时分秒写入到文件中,否则输出“unable to write to /tmp/bak_log”。
-${LOG_TEMP:-${java.io.tmpdir:-/tmp}是什么意思
这是一个 shell 脚本语言中的语法,它的含义是:
如果 $LOG_TEMP 变量已经被定义,则使用 $LOG_TEMP 的值作为变量的值,否则,如果 $java.io.tmpdir 变量已经被定义,则使用 $java.io.tmpdir 变量的值作为变量的值,否则,使用 /tmp 作为变量的值。
这个语法主要是用来设置一个默认值,并且允许用户在其他地方进行自定义。在这个例子中,这个变量的值将被用于指定日志文件的位置。