我可以将变量附加到 tail 命令吗?

Use*_*101 6 shell-script

这可能吗,如果没有,我能做的更好吗?

例子:

日志条目数:3

log=$(home/admin17/folder/data_log)
read -p "Number of log entries" num
cat $log | tail -n $num
Run Code Online (Sandbox Code Playgroud)

ter*_*don 14

var=$(command)符号运行command和受让其输出var。由于home/admin17/folder/data_log是文件而不是命令,因此应该会给您一个错误:

log=$(home/admin17/folder/data_log)
bash: home/admin17/folder/data_log: command not found
Run Code Online (Sandbox Code Playgroud)

如果要将文件名保存为变量,则需要:

log=home/admin17/folder/data_log
Run Code Online (Sandbox Code Playgroud)

然后,其余的应该按您的预期工作:

log=home/admin17/folder/data_log
read -p "Number of log entries" num
cat $log | tail -n $num
Run Code Online (Sandbox Code Playgroud)

或者,避免无用使用 Cat (UUoC):

log=home/admin17/folder/data_log
read -p "Number of log entries: " num
tail -n "$num" "$log"
Run Code Online (Sandbox Code Playgroud)