如何运行文件而不是输入./filename但只输入$ anyword?

时间:2014-02-10 21:07:01

标签: unix

我写了一个名为“list”的文件

#!/bin/bash
while echo Player name?
      read name
      [ $name != "ZZZ" ]
do
    while echo 'See target (T/t) or team name (M/m)? '
         read word
         [ $word != "t" -a $word != "T" -a $word != "m" -a $word != "M" ]
   do
         echo Please enter only T or M.
   done

   if [ $word = "t" -o $word = "T" ]
   then
      grep $name emplist | cut -c44-58
   else
      grep $name emplist | cut -c31-43
   fi
done

但每次运行时我都应该使用 ./ list ,如果我想输入 $ search 来运行它,我应该在文件中写什么?

2 个答案:

答案 0 :(得分:0)

如果您希望$search与运行脚本./list具有相同的效果,那么您可以将shell中的变量search设置为./list

$ search=./list
$ $search # this will expand to ./list (that's the value of your $search variable)

我想如果你这样做会更有用:

$ search=/ful/path/to/list

答案 1 :(得分:0)

/usr/bin/$search提出symlink到您的list文件或使用别名。

ln -s /home/user/list /usr/bin/$search

# add to .bashrc or similar
alias $search=/home/user/list

对我来说,使用list文件的完整路径更有意义,但是如果你想使用相对路径,那么如果问题就是选项一。