Shell Scripting入门?

时间:2008-12-01 05:19:15

标签: shell scripting tcsh

我不熟悉shell脚本,所以我不确定如何做或者有可能。如果你能给我链接或建议,那就太好了。

我想做的是:

  • 创建一个简单的文本文件 EX:

    param1(RANDOMVALUE)

    其中randomvalue是生成的随机数。

  • 使用我们刚刚创建的文件运行程序并输出到文件

    ./ program filewejustcreated> A

该程序已经创建,它以文件名作为参数,无需担心这些内容。

  • 使用我们刚刚创建的文件运行另一个程序,该程序已存在,并将其放入文件

./ Anotherprogram filewejustcreated>乙

  • 在A,B上运行diff comamand

    diff A B

显示diff返回的内容......

由于

[编辑]我正在使用shell:tcsh

3 个答案:

答案 0 :(得分:3)

你几乎已经编写了脚本。唯一缺少的是随机数;我会用Perl做的。这是一个快速的& sh中的脏解(或者bash;我假设你在Linux / Unix系统上):

#!/bin/sh
perl -e 'print "TheWord (", int(rand(1000)), ")\n"' > tempfile
./program tempfile > A
./Anotherprogram tempfile > B
# rm tempfile  # this would delete 'tempfile' if uncommented
diff A B

现在将其保存在文件(例如,script.sh)和shell执行:

chmod +x script.sh

使其可执行,

./script.sh

运行它。

答案 1 :(得分:3)

我不确定在tcsh中生成随机数的函数。但是,在像BASH这样的更常见的shell中,对变量$RANDOM的引用会生成随机数。

因此,在你的shell脚本(这里是一个BASH shell脚本)中,内容将是:

#Pick the first argument to the call as the file name
FILE_NAME=shift
echo "param1 $RANDOM" > $FILE_NAME
./program $FILE_NAME > $FILE1
./Anotherprogram $FILE_NAME > $FILE2
diff $FILE1 $FILE2

答案 2 :(得分:0)

Shell脚本主要是以完成工作的方式组合不同的程序。有许多程序只做一件简单的事情,并且可以组合起来完成更大的任务,当你进入shell脚本世界时,你会学到这些任务。 大型shell脚本的示例是perl's Configure script。在第一位,你看到(以及一些幽默的评论)cat,true,sh,rm,test,sed,uname和grep used。