最近在使用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循環的區別:
參考上面第二點中的例子。