简单过下bash/sh脚本基本知识吧】的更多相关文章

1.sh/bash要注意空格的使用 2. for循环: for i in /etc/profile.d/*.sh ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null 2>&1 fi fi done while循环和多选择语句 #!/bin/bash while : d…
命令行应该这样写: sh -c "脚本字符串" example: sh -c "if ! type dpkg > /dev/null ; then echo 'some messages' fi"…
1.确保用户对文件有读写及执行权限 oracle@linux-106:~/RMAN/bin> chmod a+x test.sh 2.然后修改文件格式(如果是从winodws搬过来的会显示dos格式,要把它改成unix格式) (1)使用vi工具 oracle@linux-106:~/RMAN/bin> vi test.sh (2)利用如下命令查看文件格式      :set ff 或 :set fileformat      可以看到如下信息      fileformat=dos 或 fil…
最近在研究Docker集群和安装的时候,需要准备若干台机器.所以我为节约时间,打算批量复制VM机器,然后用sh脚本命令执行机器名称和IP等基础配置信息的修改. 具体操作:我在windows环境下,用Notepad++编辑如下脚本,并且保存编码格式为UTF-8无编码BOM. 但是测试发现,linux会自动将命令行尾部的\r写到执行命令里面. 一.失败过程,如下 >> sh -x /opt/command/batch_modify_servername_all.sh 然后,我们试着找刚才创建的if…
想要同时运行多个非本地的sh脚本,用来实现运行同一网段下多机程序的集成,可以通过在每台机器上写sh脚本,再在本机上运行一个启动远程机器sh的脚本 首先需要在所有机器上安装openssh-server sudo apt-get install openssh-server 为了省去安装密钥的环节,需要在本机安装sshpass sudo apt-get install sshpass 也可以通过获取server密钥的方式来实现 示例: 本地ip:192.168.1.1,需要启动两台server:pc…
? 原创: 铲子哥 搜狗测试 今天 shell编程的时候,往往不会把所有功能都写在一个脚本中,这样不太好维护,需要多个脚本文件协同工作.那么问题来了,在一个脚本中怎么调用其他的脚本呢?有三种方式,分别是fork.source和exec. 1. fork 即通过sh 脚本名进行执行脚本的方式.下面通过一个简单的例子来讲解下它的特性. 创建father.sh,内容如下: #!/bin/bash echo "父shell进程开始执行"…
如果是在windows下编辑的脚本,到了linux下运行时会报出这样的错误/bin/bash^M:bad interpreter: No such file or directory这时因为编码的问题,需要进行编码转换.使用sudo vim xxx打开文件,:set ff可以看到当前的格式,应该是dos,使用set ff=unix,更改其格式,然后保存退出,就能正常的运行程序了…
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://twentyfour.blog.51cto.com/945260/505644 ****shell 脚本基础知识**** ##########实验环境是RHEL5.3,内核2.6.18########### 一.基本脚本编译 知识内容: # 构建脚本 # 将命令串联起来 # 存储变量 # 数学计算 # 重定向输出 # 检查代码 1.使用多条命令 shell不像高级语言需要编译后执…
情景: 同样的的脚本,在不同的机器下运行有的可以成功,有的运行失败, 前提:sh脚本windos下编辑过. 脚本在windows上修改之后,在每行尾部多了个 ^M,导致sh脚本在执行的时候可能shbang解析不了,导致脚本执行不了 报错 Syntax error: "(" unexpected (expecting "then") 语法解析错误 解决: 在Linux查看^M,需要使用如下命令: vim下 :e ++ff=unix % 去掉^M的方法: 1.在 Vim…
本来挺简单的一个东西硬是弄了两天 心力交瘁 找了网上不少资料 整理一下发给大家 首先是统计每个人的代码量的git命令 在网上找的 我这里做了以下修改 git log --format='%aN'|sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; lo…