linux 通过shell脚本判断某个路径是否存在某个文件,如果存在,调用其他脚本
时间: 2024-01-05 20:02:48 浏览: 98
可以使用以下的Shell脚本来实现:
```shell
#!/bin/bash
# 判断文件是否存在
if [ -f /path/to/file ]; then
echo "文件存在,调用其他脚本..."
# 调用其他脚本
sh /path/to/other/script.sh
else
echo "文件不存在"
fi
```
在脚本中,我们使用了 `-f` 参数来判断文件是否存在。如果文件存在,就输出一段信息并调用其他脚本;如果文件不存在,就输出另一段信息。其中 `if` 和 `then` 之间需要加上一个空格,否则会报错。
相关问题
shell脚本如何调用另一个shell脚本文件
可以使用以下命令来调用另一个shell脚本文件:
```
source /path/to/another/script.sh
```
或者
```
. /path/to/another/script.sh
```
其中,`/path/to/another/script.sh`是要调用的脚本文件的路径。
shell脚本(函数定义及两个参数调用,一个参数是当前时间,一个是日志文件),函数中判断文件是否存在,如果文件不存在则创建文件,如果存在则读取并追加日志内容
以下是一个示例的 shell 脚本,其中定义了一个名为 `log` 的函数,该函数接受两个参数:当前时间和日志文件路径。函数中会根据日志文件是否存在来决定是创建新文件还是读取并追加日志内容。
```shell
#!/bin/bash
log() {
local current_time="$1"
local log_file="$2"
# Check if log file exists
if [ ! -f "$log_file" ]; then
touch "$log_file"
fi
# Append log content to log file
echo "[$current_time] $@" >> "$log_file"
}
# Usage example:
log "$(date)" "/var/log/myapp.log" "Something happened"
```
在上面的例子中,我们使用 `touch` 命令创建新的日志文件,`echo` 命令将日志内容追加到文件末尾。注意在日志内容中使用了 `$@` 变量,它表示函数调用时除第一个参数外的其他所有参数,这里即为日志内容。
阅读全文