tail 명령에 변수를 추가할 수 있나요?

tail 명령에 변수를 추가할 수 있나요?

가능합니까? 가능하지 않다면 제가 할 수 있는 더 좋은 일이 없을까요?

예:

로그 항목 수: 3

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

답변1

기호 var=$(command)가 실행 command되고 해당 출력이 에 할당됩니다 var. home/admin17/folder/data_log명령이 아닌 파일이므로 오류가 발생합니다 .

log=$(home/admin17/folder/data_log)
bash: home/admin17/folder/data_log: command not found

파일 이름을 변수로 저장하려면 다음이 필요합니다.

log=home/admin17/folder/data_log

그러면 나머지는 예상대로 작동합니다.

log=home/admin17/folder/data_log
read -p "Number of log entries" num
cat $log | tail -n $num

또는 Cat(UUoC)의 쓸모없는 사용을 방지하려면 다음을 수행하세요.

log=home/admin17/folder/data_log
read -p "Number of log entries: " num
tail -n "$num" "$log"

관련 정보