xiaobater 2020-05-01
一:介绍
Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本。Unix/Linux上常见的Shell脚本解释器有bash、sh、csh、ksh等,习惯上把它们称作一种Shell。我们常说有多少种Shell,其实说的是Shell脚本解释器。
二:第一行的解释
#! /bin/bash
此行称为 shebang(就是 sharp (#) + bang (!) 的意思),会指引操作系统使用接下来指定的程序运行此文件。此处 /bin/bash 执行我们的文件。一些人使用 #!/bin/sh 来让 sh 执行文件,按照习惯这表示任何支持 POSIX shell 命令语言的 sh程序。为了用上我们所喜欢的 bash 拓展语法功能,我们就不这么用了。如果你使用别的脚本,例如 /bin/tcsh,照着样子加个 #! 就行。
编辑结束并保存后,如果直接要执行该脚本,必须先使其具有可执行属性:
chmod +x filename
test.sh:执行chmod +x test.sh 后test.sh就变色了,变成绿色,表示是可执行的文件
#!/bin/bash echo "hello world"
打印
echo :是Shell的一个内部指令,用于在屏幕上打印出指定的字符串。
printf:格式化输出语句。 printf
命令用于格式化输出, 是echo
命令的增强版。它是C语言printf()
库函数的一个有限的变形,并且在语法上有些不同。
print_test.sh
#!/bin/bash printf "hello\n"
printf format-string [arguments...]
print_test_args.sh
#!/bin/bash printf "%shaha%d\n"haha 100
输出结果不是 hahahaha100
修改print_test_args.sh
#!/bin/bash printf "%s haha %d\n" haha 100
修改print_test_args.sh
#!/bin/bash printf "%s haha %d\n" "haha" 100
printf "%shaha%d" "haha" 100
printf"%shaha%d" "haha" 100
参数与格式化字符串之间要有一个空格,且字符串参数要用引号包裹
输入 read
read.sh
#!/bin/bash echo "input your name" read name echo "name is $name"
三:小练习
编写start.sh脚本,启动flask程序
传统的启动
写一个flask_two.sh 用来启动这个flask_two.py
# TODO