shell编程里,"$1"是什么意思?如下

已举报 回答 关注
shell编程里,"$1"是什么意思?如下
问在线客服
扫码问在线客服
  • 回答数

    6

  • 浏览数

    10,445

6个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
假设你这个脚本名字叫做 test.sh
执行的时候如下执行
./test.sh file1
那么$1就是file1
取消 评论
echo "">~/answ.txt
#在用户家目录下 创建一个文件名为answ.txt的文件,并向文件中输入一个空行

echo "$S1 $S2 $S3 $S4 $A"A" $B"B" ">>~/answ.txt
#开始不停的往answ.txt这个文件里追加了 变量 $S1 $S2 $S3 $S4 $A"A" $B"B"
其中的“A” "B"是以字符的形式输出。

如果觉得回答符合要求,请及时点采纳。
取消 评论
列出$dataDir目录下的所有内容,找到以“-”开头的文件,并显示它们的行数
取消 评论
如果我没有记错的话,应该是参数1如果是NULL,则会报一个错误,错误是NULL。
取消 评论
首先-z表示的是空串。即判断你输入的字符串是否为空。
E_NOARGS=65,就是表示给变量E_NOARGS赋值给65的意思啊。
使用变量是使用$E_NOARGS.
取消 评论
#/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内容为最新的记录。
自动清理以前不需要的内容。
说实话。。我也只能顺序读出来。没怎么领悟原作者具体想干什么。
取消 评论
ZOL问答 > shell编程里,"$1"是什么意思?如下

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?