每一个在UNIX/Linux上工作的程序员可能都擅长shell脚本编程。但大家解决问题的方式却不尽相同,这要取决于对专业知识的掌握程度、使用命令的种类、看待问题的方式等等。对于那些处在shell脚本编程初级阶段的程序员来说,遵循一些恰当的做法可以帮助你更快、更好的学习这些编程技巧。下面,我们就来讨论这些能帮助你学习shell脚本编程的方法吧。
1、多动手
你想学
转载
精选
2013-03-07 17:46:05
668阅读
点赞
2评论
#!/bin/bash # 这里 grep -vE 必须有, 否则会杀死全部进程.. pids=`ps -ef | grep 'prometheus'| grep -vE '(grep|/bin/bash|bash|sh)' | tr -s ' '| cut -d ' ' -f 2` echo "进 ...
转载
2021-08-19 13:51:00
82阅读
2评论
linux写shell注意的问题一定要vi crontab.sh来写 ps:在windows系统中编辑过这个文件,就会出现类似的换行符 这样导致linux系统中运行sh报错 比如会出现$MQ字符 如果要查看有没有 cat -A crontab.sh ps:还有个方法 notepad 编辑菜单里> 文
转载
2019-11-17 07:44:00
90阅读
2评论
/dev/null 2>&1# 2>&1 的意思就是将标准错误重定向到标准输出# 这里标准输出已经重定向到了 /dev/null# 那么标准错误也会输出到/dev/null/dev/null 2>&1...
原创
2021-08-25 10:37:19
129阅读
/dev/null 2>&1# 2>&1 的意思就是将标准错误重定向到标准输出# 这里标准输出已经重定向到了 /dev/null# 那么标准错误也会输出到/dev/null/dev/null 2>&1...
原创
2022-02-18 14:01:04
35阅读
shell注意事项记录日志shell执行加锁(针对不能同时执行)加选项(禁止直接执行)备注#记录日志
#!/bin/bash
shell_log="./shell_log"
#Write log
shell_log(){
shell_info=$1
&n
原创
2017-07-26 13:30:18
953阅读
#shell编程注意点1、wall--sendamessagetoeverybody'sterminal这是wall命令的用法2、隐式类型转换是针对弱类型的,自动转换;不需要申明变量,可直接调用3、在shell编程中如果对变量赋值就是一个变量指向存储值的内存空间;如果对这个变量进行二次赋值,那么就是变量的指向由原来的存储空间变成另一个值的存储空间;原来的空间标记为可用;4、unset是将变
原创
2017-11-26 16:56:48
498阅读
点赞
1、变量定义等号两边不能有空格
#!/bin/bash
myvar=3 #正确
myvar = 3; #等号边多了空格,是错误的!很迥异吧
1.1、还是空格,这次是不能没有
#!/bin/sh
myVar="OFF"
if [ $myVar = 'OFF' ];then
#这里[]中括起来的内容两端必须有空格,if
转载
2011-10-31 13:28:07
395阅读
linux shell管理
一、为变量赋值的常用方法
1、双引号(“”)
使用双引号,允许在双引号的范围内使用“$”符号来引用其他变量的值(变量引用)。在简单的赋值操作中,双引号有时候可以省略。
2、单引号(‘’)
使用单引号时,将不允许在单引号的范围内引用其他变量的值,“$”符号或者其他任何符号将作为普通字符看待。
3、反撇号(``)
使用反撇号时,允许将执行特定命令的输出结果赋给
原创
2012-01-11 13:02:50
445阅读
先了解下bash中什么时候该用空格,什么时候不该用。1. 等号赋值两边不能有空格2. 命令与选项之间需要空格3. 管道两边空格可有可无我们来看看常见的问题1. 赋值时等号两边或者只有左边多了空格?123456789101112igi@gentoo ~ $ var1 = testbash: var1: command...
原创
2021-09-29 14:24:30
1065阅读
先了解下bash中什么时候该用空格,什么时候不该用。 1. 等号赋值两边不能有空格 2. 命令与选项之间需要空格 3. 管道两边空格可有可无 我们来看看常见的问题 1. 赋值时等号两边或者只有左边多了空格 ? ...
转载
2016-10-06 04:08:00
53阅读
2评论
转载:http://blog.csdn.net/ninlei0115/article/details/97321911、在Makefile中只能在target中调用Shell脚本,其他地方是不能输出的。比如如下代码就是没有任何输出:VAR="Hello"echo "$VAR"all: ........
转载
2014-06-19 14:56:00
139阅读
2评论
1,引号与反撇号“ ” 双引号:界定范围‘ ’ 单引号:界定范围以及屏蔽特殊符号的功能` ` 反撇号:可以获取命令的执行结果,或使用$( )可以实现相同效果 2,使用read指令 脚本:#!/bin/bashread -p "请输入用户名称:" u //p是可以定义提示信息,u相当于自定义变量名称, ...
转载
2021-08-24 17:51:00
58阅读
[root@VM_48_191_centos 456]# vim 2.sh#!/bin/bash &n
原创
精选
2017-05-26 10:30:43
3263阅读
定义变量时,变量名不加美元符号($),如:variableName="value"注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。删除变量使用 unset 命令可以删除变量。语法:unset variable_name变量被删除后不能再次使用;unset 命令不能删除只读变量...
原创
2021-07-28 16:21:16
79阅读
不能把函数名管道给tee下面这种写法是有问题的func | tee -a install.log当func函数中的退出码为非0时,整个脚本的退出码等于tee -a install.log的退出码,因此为0
原创
2022-06-28 17:26:26
105阅读
==和=的使用主要区别
在Shell脚本中,==和=的使用主要区别在于它们所处的上下文和具体的Shell版本:
**=**:
在POSIX标准中,=被定义为字符串比较运算符,适用于test命令或[命令。
例如:[ "$a" = "$b" ] 用于判断$a和$b是否相等,若相等则返回true。
这是更通用的字符串比较方式,在所有的Shell环境中(如s
继承是面向对象语言的一个重要特征,在进行大型项目开发的时候其优点尤其明显,这里对java中应用继承时的几点注意事项(容易出错的地方)进行了总结。笔者本打算将这几种现象从基本原理上解释一下,但是想来想去都感觉无从下手,因为需要读者比较了解java虚拟机的内部机制,很多东西比较抽象,所以看到这篇文章的读者记住下面这几种现象就行了,如果想深入理解其本质原理,建议大家读一下《深入java虚拟机》这本书。一
转载
2024-05-17 00:25:03
17阅读