在文本编辑器中创建 shell 脚本

在文本编辑器中创建 shell 脚本

我想知道如何在文本编辑器中创建 shell 脚本。

这就是我在文本编辑器中的内容。

#!/bin/bash
mkdir -p temp
cd temp

if [ $1 > $2 ] ;
then
    echo $1
else
    echo $2
fi

./max.sh 4 6
./max.sh -2 -5
./max.sh 7 -3

所以基本上在文本编辑器中我想创建一个名为 max.sh 的 shell 脚本,以便在它下面我可以通过它传递参数,但在同一个文本编辑器中。

为了更清楚地说明:

我希望 if 语句位于名为 max.sh 的脚本内,因此在其下面我可以使用参数调用 max.sh,它将起作用。

答案1

你想要的叫做功能:

#!/bin/bash

max() {
  if [ "$1" -gt "$2" ] ;
  then
    printf %s\\n "$1"
  else
    printf %s\\n "$2"
  fi
}

max 4 6
max -2 -5
max 7 -3

进一步阅读:

答案2

你可以按照你的要求做这样的事情:

#!/bin/bash
mkdir -p temp
cd temp

cat <<\_script_lines_ > max.sh
#!/bin/bash
if [ "$1" -gt "$2" ] ;
then
    printf '%s\n' "$1"
else
    printf '%s\n' "$2"
fi
_script_lines_

chmod u+x max.sh             ### make the script excutable.

# Use the script:
./max.sh 4 6
./max.sh -2 -5
./max.sh 7 -3

但Wildcard已经推荐的功能似乎使用起来更合理。

答案3

如果您愿意对其进行编程,您可以获取一个脚本来打开第二个甚至第三个控制台窗口,并将其用于输入/输出,例如从其他文件读取、写入,但使用控制台代替。

我不知道 bash 的语法是什么,你需要谷歌一下或者在 stackoverflow 上再次询问。

相关内容