我有一个小的“logit”脚本;
#!/bin/bash
echo "• $(date +%Y.%m.%d.%H.%M.%S) • " >> "$1"
printf "%s" "$*" >> "$1"
这样我就可以随时随地创建日志。
但!当我将 $* 打印到日志文件时,它当然包含 $1,但由于这是日志的路径/文件名,我想将其从 $* 中排除,因此它不会出现在日志中的每一行..
这可能吗?
答案1
是的,使用shift
#!/bin/bash
echo "• $(date +%Y.%m.%d.%H.%M.%S) • " >> "$1"
log="$1"
shift
printf "%s" "$*" >> "$log"
看看男人的狂欢
移位[n]
从 n+1 ... 开始的位置参数被重命名为 $1 ...。从 $# 到 $#-n+1 的数字表示的参数未设置。n 必须是小于或等于 $# 的非负数。如果 n 为 0,则不会更改任何参数。如果未给出 n,则假定为 1。