Shell
文章平均质量分 58
Shell
craftsman2020
技术交流
展开
-
shell脚本使用字典
下面一段代码给出了shell脚本中使用字典的方法。首先要使用declare -A 来定义一个字典。(目前都使用declare命令而不再使用typeset命令了,这两个命令使用差不多Shell declare和typeset命令:设置变量属性)上面代码分别对score进行固定赋值,对scoreSumSt进行循环赋值。这两种方式都是ok的。转载 2022-12-04 21:28:56 · 1446 阅读 · 0 评论 -
shell实现交互
一、SHELL1.1 输入单个指令自动输入yesecho “y” | yum install wget ,等同于yum -y install wget自动输入回车echo -e “\n” | yum remove wgetecho -e 的小知识若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:\a 发出警告声;\b 删除前一个字符;\c 最后不加上换行符号;\f 换行但光标仍旧停留在原来的位置;\v 与\f 相同;\n 换行且光标移至行首;\r 光标移至行首,但不换行;\转载 2022-05-29 22:14:05 · 858 阅读 · 0 评论 -
shell if 多条件判断 时间大小比较
#!/bin/bashtime=`date +%H:%M:%S`echo $timeif [[ "$time" > "00:00:01" ]] && [[ "$time" < "11:30:00" ]]thenecho "当前时间还没到中午"elseecho "已过中午,请休息"fi注意:[ 在shell中单独使用时是一个指令,所以当中括号使用的话,需要后面有一个空格。在Shell中我们可以利用date命令比较两个日期的大小,方法是先把日期转换成时间戳格式,原创 2022-05-29 22:09:49 · 3722 阅读 · 0 评论 -
Linux Shell 进制错误 - value too great for base
报错:value too great for base解决方法:将要转换成十进制的变量或者数字 在前面加上10#Linux Shell 编程进行数学运算时,如果有字符 ‘0’ 打头的数 Bash 会当做八进制解释,而这经常会引起问题。比如我们用"08"参加运算,本意是当做10进制的8,实际却会运行报错。通常情况下,直接写的数值不会以0打头,但如果是以前面命令的格式化输出为参数时,则往往不能控制。更危险的是,如果参与运算的以’0’打头数值达到了两位数或更多,且数值的每一位均在0-7之间,则 Shell转载 2022-05-29 22:02:06 · 703 阅读 · 0 评论 -
shell编程之 if 判断语句
文章目录1. 判断语句介绍 - if2. if…else 语句(一个条件两个判断结果)3. if…elif…else 语句(多条件多个判断结果)4. if嵌套if 语句5. if 和命令的操作1. 判断语句介绍 - if当编写程序时,需要对上一步执行代码是否执行成功进行判断,可以用if语句进行判断。通过查看if语句执行的判断结果查看代码是否执行成功当满足条件的代码块中有exit ,表示退出脚本执行注意: 注意if和[]有空格,[]和condition也有空格隔开,运算符也有空格。缩进可以任意缩进单转载 2022-05-29 21:58:08 · 2754 阅读 · 0 评论 -
将shell指令结果保存到变量中的两种方法
shell指令结果保存到变量中文章目录1. 方法一: 反引号2. 方法二:使用 $()3. 注意事项4. 再谈反引号和 $()1. 方法一: 反引号#!/bin/basha=`ls -l; pwd; date;`echo "$a"b=`ls -l pwd date`echo "$b"2. 方法二:使用 $()#!/bin/basha=$(ls -l)echo "$a"3. 注意事项默认情况只会将标准输出保存到变量中,如果需要加异常结果也保存到变量,需要加 2>原创 2022-05-29 21:50:29 · 9264 阅读 · 0 评论 -
shell中符号总结
在shell中常用的特殊符号罗列如下:; ;; . , / \ ‘string’| ! $ ${} $? $$ $*“string”* ** ? : ^ $# $@ command{} [] [[]] () (())|| && {xx,yy,zz,…}~ ~+ ~- & \<…\> + - %= == !=井号 (comments)这几乎是个满场都有的符号,除了先前已经提过的"第一行"#!/b转载 2021-02-04 10:23:27 · 1503 阅读 · 0 评论 -
shell脚本直接运行和crontab结果不一样|在crontab中执行python脚本系统环境变量问题
在脚本最前面加上一句:source ~/.bash_profile这样运行环境就一摸一样了。加上这句后,直接执行能成功的脚本放在crontab里都能执行。所有的crontab问题只有两种可能,1,环境2,路径而第二种问题往往又是第一种问题引起的,所以加上.bash_profile里的环境后99%的问题都一招通杀。.bash_profile会读取.bashrc.bashrc 会读取 /etc/bashrc/etc/bashrc 会读取 /etc/profile一个Linux所有的系统用户,原创 2020-12-30 12:53:10 · 545 阅读 · 0 评论 -
Linux基础知识之bashrc和profile的用途和区别
使用终端ssh登录Linux操作系统的控制台后,会出现一个提示符号(例如:#或~),在这个提示符号之后可以输入命令,Linux根据输入的命令会做回应,这一连串的动作是由一个所谓的Shell来做处理。Shell是一个程序,最常用的就是Bash,这也是登录系统默认会使用的Shell。bashrc和profile都是Shell的启动设置文件(其实这两个文件也是Shell脚本),可以为当前的Shell初始化环境变量等,它们类似Microsoft DOS/Windows下的autoexec.bat文件。下面详细转载 2020-12-30 12:41:17 · 191 阅读 · 0 评论 -
linux下.bashrc文件 /PATH环境变量修改 /提示符修改
文章目录1. bashrc文件2. PATH环境变量修改3. alias别名4. 提示符1. bashrc文件在linux系统普通用户目录(cd /home/xxx)或root用户目录(cd /root)下,用指令ls -al可以看到4个隐藏文件,.bash_history 记录之前输入的命令.bash_logout 当你退出时执行的命令.bash_profile 当你登入shell时执行.bashrc 当你登入shell时执行请注转载 2020-12-30 11:11:02 · 4480 阅读 · 0 评论 -
Linux一次执行多个命令& ; && ||区别
文章目录1.一次执行多个命令,多个命令之间用;号隔开2.cmd1执行失败那就不要执行后面的命令3. cmd1失败了才去指令后面的命令1.一次执行多个命令,多个命令之间用;号隔开cmd1; cmd2;cmd3如:cd /home/abc ; rm -rf ./test/* ; rm -rf ./pos/* ; rm -rf ./logs/* ;这样前后执行的时候没有依赖性,如果有下列要求呢2.cmd1执行失败那就不要执行后面的命令需要使用 && 来连接命令,cmd1 &原创 2020-10-20 20:30:50 · 8971 阅读 · 0 评论 -
shell常用操作--一次性执行多条命令
文章目录一、shell中多条命令分隔符二、shell演示三、附录nohup日志输出离不开shell重定向?一、shell中多条命令分隔符每个命令之间用;隔开说明:各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。每个命令之间用&&隔开说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。每个命令之间用||隔开说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执原创 2020-08-06 22:11:08 · 3546 阅读 · 0 评论 -
nohup日志输出离不开shell重定向?
文章目录1、nohup样例:date=`date +%Y%m%d%H%M%S`cd /home/alpha/suntest/testmv -f ./nohup_38.out ./nohups/nohup_38_${date}.outnohup python -u test1.py 2>&1 1>>nohup_38.out nohup python -u test2.py 2>&1 1>>nohup_38.out nohup python.原创 2020-08-05 00:47:21 · 324 阅读 · 0 评论