日期:2014-05-16  浏览次数:20666 次

关于Shell语句的问题
#!/bin/sh

rm - f report
touch report

seed=123456
for n in 1024 32768 1048576
do
for t in 1 2 4 8 16 32 64 128
do
for data_dis in 0 1
do
for result in 0 1
do
echo "vector = $n, $t threads, seed = $seed, data_distribution 
$data_dis, result methods = $result" >> report
echo "-server" >>report
java -server csci6450.pa1.PA1 $n $t $seed $data_dis $result>> report
echo "-client" >>report
java -client csci6450.pa1.PA1 $n $t $seed $data_dis $result>> report
done
done
done
done
cat report

这个是个简单的UNix shell语句,我现在想用Linux,所以请大家帮我看看,哪些语句是需要改动的,也就是Linux和Unix的不同,我知道他们是兼容的,但我想知道他们的Shell有哪些区别,比如循环,还有输入到文件等,希望大家帮忙

------解决方案--------------------
基本上都一样,
------解决方案--------------------
不用改动。

linux和unix的区别主要体现在cpu架构可能不同,所以可能存在大小端问题,shell方面基本没有区别。
------解决方案--------------------
不用改动,Linux主要是Bash Shell, UNIX 默认的是 Boune Shell, Bash shell 的全称是Boune again Shell 也就是Boune Shell 的进化版.如果想把Linux的脚本移到UNIX 上,最好把 第一行的幻数改为 #!/bin/bash
------解决方案--------------------
linux多数版本都装有不同的shell,所以直接这样写就可以。