关于Linux中的脚本的几个基础问题,菜鸟求教

最近在学习Linux的定时任务脚本,遇到了一些问题,求高手指点一下。首先是.加上空格然后再加上一个文件路径是什么意思?比如说我在一个脚本的开头开到这样一段#!/bin/s... 最近在学习Linux的定时任务脚本,遇到了一些问题,求高手指点一下。
首先是
.加上空格然后再加上一个文件路径是什么意思?
比如说我在一个脚本的开头开到这样一段
#!/bin/sh
. $HOME/.bashrc_bak
第一句我知道是设置编译器,请问第二句话是做什么用?

第二就是在代码的结尾加上 > /dev/null 是什么意思?
比如说断开与bd2数据库连接的时候常看到
db2 connect reset > /dev/null
db2 terminate > /dev/null
这样的写法?有时候还会见到两个>的写法就是>>,是不是这个符号有什么特殊的含义?

第三 在Linux里面使用``这对符号是什么意思?
比如说有一句得到时间的代码就是这样写的
dat=`date +"%Y%m%d"`

最后就是$?是啥意思?我只知道在脚本中可以用$来接收参数,但?也表示参数吗?
如这个代码:if [ $? -eq 0 ]; then
求哪位变成高手指导一下,不胜感激。
展开
 我来答
兔二短剧
2018-08-07 · 超过13用户采纳过TA的回答
知道答主
回答量:36
采纳率:75%
帮助的人:6.2万
展开全部
一、我没有见过这样写的,"." 这个不是命令,shell来讲就是个当前路径,正则来讲,这是任意一个字符的意思,"."后面应该有条/才对,那样的意思就是执行当前路径下的那个文件
二、">" 这个符号是属于重定向,就是将前面的输出写到后面的文件里面,">" 这个是覆盖写入,">>" 这个是追加写入,然后你的屏幕是不会有输出的,cat /etc/hosts > /etc/hosts.bak
上面这个命令你可以理解为复制一个备份,"/dev/null" ,这个我叫黑洞,就是所有的东西进去都会消失,无底洞一样,你的问题意思就是将命令的输出丢掉,不要输出任何东西。
三、'',这个是看到什么就是什么,比如:a=1;echo '$a' ,这个就是输出$a
"",这个是会将变量执行的,比如:a=1;echo "$a",这个输出1
``,这个是引用命令输出,比如:echo `date`,这个是输出时间,也可以复制,比如:a=`date`
四、
$1 第一个位置变量
$# 已加载的位置变量的个数
$* 所有位置变量的值
$? 上一条命令退出后的状态值,0表示正常,其他值异常,通过判断这个看命令是否执行成功
ps:欢迎咨询
力控科技
2024-08-19 广告
ForceSCADA是力控科技信创产品的重要组成部分,具备完全自主知识产权,支持部署在Linux桌面版、服务器版、嵌入式等系统架构下。使用ForceSCADA可以搭建创新性高、扩展性佳、融合度强的SCADA平台,进而构建高效、智能化的监控中... 点击进入详情页
本回答由力控科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式