shell 基础 在终端输入:sh进入脚本界面
helloworld 编辑内容
#!/bin/bash echo "hello world!" 保存退出:
w ~/helloworld.sh
运行:
chmod +x ~/helloworld.sh cd ~ ./helloworld.sh 执行结果:
hello world!
分析: 第一行中#!是一个约定的标记,告诉系统脚本需要使用什么解释器来执行,即使用哪一种shell
这种在第一行指定了解释器信息的方式,需要让脚本作为可执行程序执行
还有第二种运行方式,即作为解释器参数,这时,第一行的解释器信息,失效
eg:python test.py
shell 变量 显式 …
shell进阶 破壳漏洞
env x='() { :;}; echo shellshocked' bash –c "echo test"检查,如果输出了两行,那么需要升级bash的版本
解释器的类型
系统中的shells使用cat /etc/shells查看:
/bin/sh /bin/dash /bin/bash /bin/rbash /usr/bin/tmux /usr/bin/screen /bin/zsh /usr/bin/zsh 设置解释器的类型 #!/bin/bash在文件的开头使用,内核会根据"#!“后的解释器来确定该用那个程序解释这个脚本中的内容
脚本的编辑 vim帮助我们编 …