早教吧作业答案频道 -->其他-->
谁帮我看看这段shell是什么意思吧,尤其这一段if[-n"$1"]#/bin/bashROOTUID=0LINES=50EXCD=86ENOTROOT=87if["$UID"-ne"$ROOTUID"]thenecho"Mustberoottorunthisscript."exit$ENOTROOTfiif[-n"$1"]thenlines=$1elselines=$L
题目详情
谁帮我看看这段shell是什么意思吧,尤其这一段 if [ -n "$1" ]
#/bin/bash
ROOT_UID=0
LINES=50
E_XCD=86
E_NOTROOT=87
if [ "$UID" -ne "$ROOT_UID" ]
then
echo "Must be root to run this script."
exit $E_NOTROOT
fi
if [ -n "$1" ]
then
lines=$1
else
lines=$LINES
fi
cd $LOG_DIR
if [ "pwd" ="$LOG_DIR" ]
then
echo "Cant't change to $LOG_DIR."
exit $E_XCD
fi
tail -n $lines messages > mesg.temp
mv mesg.temp messages
exit 0
#/bin/bash
ROOT_UID=0
LINES=50
E_XCD=86
E_NOTROOT=87
if [ "$UID" -ne "$ROOT_UID" ]
then
echo "Must be root to run this script."
exit $E_NOTROOT
fi
if [ -n "$1" ]
then
lines=$1
else
lines=$LINES
fi
cd $LOG_DIR
if [ "pwd" ="$LOG_DIR" ]
then
echo "Cant't change to $LOG_DIR."
exit $E_XCD
fi
tail -n $lines messages > mesg.temp
mv mesg.temp messages
exit 0
▼优质解答
答案和解析
#/bin/bash
ROOT_UID=0
LINES=50
E_XCD=86
E_NOTROOT=87
if [ "$UID" -ne "$ROOT_UID" ]
then
echo "Must be root to run this script."
exit $E_NOTROOT
fi
echo $1
自定义了几个变量外加判断目前用户是否为root..
if [ -n "$1" ]
then
lines=$1
else
lines=$LINES
fi
判断目前的程序的位置参数$1是否非空 非空为真 空为假 非空把$1带入到lines里.如果为空就把上边定义过的$lines带入到lines里.
cd $LOG_DIR
if [ "pwd" !="$LOG_DIR" ]
then
echo "Cant't change to $LOG_DIR."
exit $E_XCD
fi
然后进入 日志目录 这个目录应该是一个环境变量,判断所在目录是否为所定义的目录.
tail -n $lines messages > mesg.temp
mv mesg.temp messages
exit 0
从后显示 messages文件里 第$lines行的内容 写到 mesg.temp里
修改mesg.temp 为messages
退出
最后一句大概意思是一直保持messages内容为最新的记录.
自动清理以前不需要的内容.
说实话.我也只能顺序读出来.没怎么领悟原作者具体想干什么.
ROOT_UID=0
LINES=50
E_XCD=86
E_NOTROOT=87
if [ "$UID" -ne "$ROOT_UID" ]
then
echo "Must be root to run this script."
exit $E_NOTROOT
fi
echo $1
自定义了几个变量外加判断目前用户是否为root..
if [ -n "$1" ]
then
lines=$1
else
lines=$LINES
fi
判断目前的程序的位置参数$1是否非空 非空为真 空为假 非空把$1带入到lines里.如果为空就把上边定义过的$lines带入到lines里.
cd $LOG_DIR
if [ "pwd" !="$LOG_DIR" ]
then
echo "Cant't change to $LOG_DIR."
exit $E_XCD
fi
然后进入 日志目录 这个目录应该是一个环境变量,判断所在目录是否为所定义的目录.
tail -n $lines messages > mesg.temp
mv mesg.temp messages
exit 0
从后显示 messages文件里 第$lines行的内容 写到 mesg.temp里
修改mesg.temp 为messages
退出
最后一句大概意思是一直保持messages内容为最新的记录.
自动清理以前不需要的内容.
说实话.我也只能顺序读出来.没怎么领悟原作者具体想干什么.
看了 谁帮我看看这段shell是什...的网友还看了以下:
设f(x)是定义在对称区间(-L,L)内的任何函数,证明……设f(x)是定义在对称区间(-L,L) 2020-05-16 …
写出下列算法的功能LinkListdemo(LinkListL){ListNode*q,*p;If 2020-05-17 …
小文看一本故事书,已经看了全书的45%.这里的45%表示的实际意义是什么?如果这本书有100页,小 2020-06-04 …
设函数f(x)是定义在(-L,L)内的奇函数(L〉0),证明若f(x)在(-L,0)内单调增加,则 2020-06-09 …
语文仿写句子用美好的心灵看世界,总是用乐观的精神面对一生,多一分自信,少一分失望;用美好的心灵看世 2020-06-11 …
关于电子在离开偏转电极后的运动电子在荧光屏上的侧移距离公式y'=tanφ(L'+L/2)这个公式是 2020-06-20 …
定义点P(x0,y0)到直线l:Ax+By+C=0(A2+B2≠0)的有向距离为d=Ax0+By0 2020-07-09 …
高数题:设函数f(x)的定义域为(-l,l),证明必存在(-l,l)上的偶函数g(x)及奇函数h( 2020-08-01 …
为了了解大学生在购买饮料时看营养说明是否与性别有关,对某班50人进行问卷调查得到2×2列联表.看说明 2020-11-02 …
用L,l,m表示k某种弹簧秤原来的长度为l,悬挂重物后的长度L可用公式L=l+k分之m表示某种弹簧秤 2020-12-05 …