最近在使用csh时,遇到的一些他与sh的区别,特此记录以备后用:
1、shell脚本引用的区别:
sh类型脚本开头为:#!/bin/sh
csh类型脚本开头为:#!/bin/csh
2、变量的区别:
sh中的变量不需要先定义,例如可以像下面这样使用变量:
for arch in $(ls -l *.log | grep -v _20 | awk '{print $8}'); do
tail -f $arch >$dir/$arch&
done
而在csh中,变量必须要必须像下面这样使用变量:
set logfile
foreach logfile (`ls -l *.log | grep -v _20 | awk '{print $9}'`)
tail -f $logfile >$dir/$logfile&
end
3、for循环的区别:
参考上面第二点中的例子。