shell脚本(函数定义及两个参数调用,一个参数是当前时间,一个是日志文件),函数中判断文件是否存在,如果文件不存在则创建文件,如果存在则读取并追加日志内容
时间: 2023-12-10 15:39:54 浏览: 24
以下是一个示例的 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` 命令将日志内容追加到文件末尾。注意在日志内容中使用了 `$@` 变量,它表示函数调用时除第一个参数外的其他所有参数,这里即为日志内容。
相关问题
shell脚本(函数定义及参数调用)
Shell脚本中可以使用函数来封装一段代码,方便重复使用。下面是一个简单的函数定义及参数调用的示例:
```bash
#!/bin/bash
# 定义一个函数,传入两个参数
function say_hello {
echo "Hello, $1 and $2!"
}
# 调用函数,并传入两个参数
say_hello "Alice" "Bob"
```
上述代码定义了一个名为`say_hello`的函数,函数接受两个参数,并在控制台输出`Hello, $1 and $2!`,其中`$1`和`$2`分别表示传入的第一个和第二个参数。在函数定义后,我们可以通过函数名及参数调用该函数。在上述示例中,我们传入了`Alice`和`Bob`两个参数,函数输出了`Hello, Alice and Bob!`。
当然,在Shell脚本中,函数还可以有返回值、局部变量等概念,但以上是函数定义及参数调用的基本用法。
shell脚本函数怎么读取两个参数
在Shell脚本中,我们可以使用$1、$2、$3等变量来获取脚本命令行参数。如果你想在函数中读取两个参数,可以使用$1和$2来分别表示第一个和第二个参数。以下是一个简单的示例:
```bash
#!/bin/bash
# 定义一个函数,接收两个参数
function myfunc() {
echo "第一个参数为:$1"
echo "第二个参数为:$2"
}
# 调用函数,传递两个参数
myfunc "Hello" "World"
```
输出结果为:
```
第一个参数为:Hello
第二个参数为:World
```
在上面的例子中,函数`myfunc()`接收两个参数,并分别使用$1和$2来获取它们的值。在调用函数时,我们传递了两个参数"Hello"和"World"。