早教吧作业答案频道 -->其他-->
谁帮我看看这段shell是什么意思吧,谢谢。尤其这一段if[-n"1"]#/bin/bashROOTUID=0LINES=50EXCD=86ENOTROOT=87if["$UID"-ne"$ROOTUID"]thenecho"Mustberoottorunthisscript."exit$ENOTROOTfiif[-n"$1"]the
题目详情
谁帮我看看这段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 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是什...的网友还看了以下:
谁能帮我翻译一下这段话谢谢Determine®HIV-1/2Ag/AbCombodetectedH 2020-04-09 …
3O3O3O3=0;3O3O3O3=1;3O3O3O3=2;3O3O3O3=3;谢谢了,这居然是小 2020-05-13 …
英语翻译请帮忙翻译:谁能用他的原话把这句话翻译出来?通俗易懂一些.谢谢~“谁能用他的原话把这句话翻 2020-05-13 …
作文让我说声谢谢你除了谢老师父母,还能谢谁?主要告诉我谢谢谁要好写的不要感谢老师父母同学朋友的! 2020-06-11 …
中国台球协会制定的16彩比赛规则,有关问题内行集中解答一下,谢谢了。1.开球时白球进袋是线后自由球 2020-06-17 …
执手相看泪眼,竟无语凝噎.念去去千里烟波,幕霭沈沈楚天阔.有谁帮我解释一下谢谢了!有谁帮我解释一下 2020-06-20 …
谁能告诉我:LZ这两个字母代表什么词语?谢谢谁能告诉我:LZ这两个字母代表什么词语?谢谢。我初来乍 2020-07-02 …
关于“我们是谁”的英语“我们是谁”这句话,应该是whatweare,还是what‘sweare.烦 2020-07-16 …
谁帮我翻译两句简单的话到英语,谢谢~谁帮我翻译一下这句话,我要提个意见.自己写的简直不堪入目,表达 2020-07-24 …
谁能帮我解释一下这里面的that为什么这么用"Thathewillgoabroadisadecisi 2020-11-08 …