ubuntu解决for: 2: Syntax error: Bad for loop variable

我的代码
#!/bin/bashfor (i=0;i<10;i++)doecho $idone
在redhat测试无问题,在Ubuntu下测试报错
for: 2: Syntax error: Bad for loop variable
解决:
sudo dpkg-reconfigure dash
在选择项中选No
从 ubuntu 6.10 开始,ubuntu 就将先前默认的bash shell 更换成了dash shell;其表现为 /bin/sh 链接倒了/bin/dash而不是传统的/bin/bash。ubuntu edgy是第一个将dash作为默认shell来发行的版本,这似乎是受了debian的影响。wiki 里面有官方的解释,https://wiki.ubuntu.com/DashAsBinSh,主要原因是dash更小,运行更快,还与POSIX...

shell中的一个类似substr的用法

原来在shell中如果遇到要截取字符串的情况,就调用awk中的substr来实现。
今天了解到一种新的方法,原来shell中本身就支持这种用法。
如,有一字符串”12345678″,现在要截取第三个到第六个字符的字符串区间。
则可以:
[xok.la ~]$ export str="123456789"[xok.la ~]$ echo ${str:3:(6-3)}456[xok.la ~]$ unset str
从以上第二个表达式可以看出这个用法,即:${str:3:(6-3)}
可以归纳为:${str:begin:len},且支持表达式,如:6-3。
补充一下从网上找到一些其他的用法:
...

require: no such file to load mkmf (LoadError)

# gem install mysqlBuilding native extensions. This could take a while…ERROR: Error installing mysql:ERROR: Failed to build gem native extension./usr/bin/ruby1.8 extconf.rbextconf.rb:10:in `require’: no such file to load — mkmf (LoadError)from extconf.rb:10Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1 for inspection.Results logged to /usr/lib/ruby/gems/1.8/gems/mysql-2.8.1/ext/mysql_api/gem_make.out
解决
aptitude install ruby build-essential libopenssl-ruby ruby1.8-dev

...

linux shell 中”2>&1″含义

脚本是:
nohup /mnt/Nand3/H2000G  >/dev/null  2>&1  &
对于& 1 更准确的说应该是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用.他标准输出到all_result ,然后复制标准输出到文件描述符2(STDERR_FILENO),其后果就是文件描述符1和2指向同一个文件表项,也可以说错误的输出被合并了.其中0表示键盘输入 1表示屏幕输出 2表示错误输出.把标准出错重定向到标准输出,然后扔到/DEV/NULL下面去。通俗的说,就是把所有标准输出和标准出错都扔到...

tar,gzip,unzip命令的详细使用方法

tar命令
tar可以为文件和目录创建档案。利用tar,用户可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文 件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案,如软盘。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这 对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。
语法:tar [主选项+辅选项] 文件或者目录
使用该命令时,主选项是...

Linux系统守护进程(服务)详解

红帽企业 Linux 4 Update 2 改进了对审核子系统的内核和用户支持。审核子系统可以被系统管理员用来监测系统调用和那些符合 CAPP 或其它审核要求的文件系统访问。它的主要内容包括:
· 默认情况下,审核在内核中被禁用。但是,当安装了 auditd 软件后,运行这个软件将会启动审核守护进程(auditd)。
· 当 auditd 运行的时候,审核信息会被发送到一个用户配置日志文件中(默认的文件是 /var/log/audit/audit.log)。如果 auditd 没有运行,审核信息会被发送到 syslog。这是通过默认的设置...

tar排除文件夹和文件

[root@test xok.la]# ls -l总用量 3drwxr-xr-x   2 root root 1024 10月 29 21:20 xdir1drwxr-xr-x   2 root root 1024 10月 29 21:21 xdir2drwxr-xr-x   2 root root 1024 10月 29 21:21 xdir3-rw-r–r–   1 root root     0 10月 29 21:21 xfile1-rw-r–r–   1 root root     0 10月 29 21:21 xfile2-rw-r–r–   1 root root     0 10月 29 21:21 […]

...

Linux与Windows删除脚本行号和换行符

windows换行是\r\n,十六进制数值是:0D0A。
LINUX换行是\n,十六进制数值是:0A
所以在linux保存的文件在windows上用记事本看的话会出现黑点,我们可以在LINUX下用命令把linux的文件格式转换成win格式的。
unix2dos是把linux文件格式转换成windows文件格式
dos2unix是把windows格式转换成linux文件格式。

...

Vi与Vim的区别

简单点来说,它们都是多模式编辑器,
不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,
而且还有一些新的特性在里面。
vim的这些优势主要体现在以下几个方面:
1、多级撤消
我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。
2、易用性
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。
3、语法加亮
vim可以用不同的颜色来加亮你的代码。
4、可视化操作
就是说vim不仅可以在终端运行,也...