shell编程(sh/bash,linux下;bat,win下)

什么是Shell脚本?

Shell脚本(英语:Shell script)是一种为 shell 编写的脚本程序,是用户使用 Unix 的桥梁,内容由一连串的shell命令组成,经由Unix Shell直译其内容后运作。被当成是一种脚本语言来设计,其运作方式与直译语言相当,由Unix shell扮演命令行解释器的角色,在读取shell script之后,依序运行其中的shell命令,之后输出结果。利用Shell script可以进行系统管理,文件操作等。

第一个shell脚本

shell 常用的有sh、bash,它的二进制文件路径通常是/bin/sh、/bin/bash,Unix下两者一样

  • step1: 创建shell脚本:打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好。
  • step2: 编写:输入一些代码,第一行一般是这样:
#!/bin/bash
echo "Hello World !" 

"#!"是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行。
echo 命令用于向窗口输出文本。

  • step3: 运行:
    • 1、作为可执行程序
chmod +x test.sh
./test.sh

注意,一定要写成./test.sh,而不是test.sh,要用./test.sh告诉系统说,就在当前目录找。通过这种方式运行bash脚本,第一行一定要写对,好让系统查找到正确的解释器。

  • 2、作为解释器参数
>>> sh test.sh
>>> bash test.sh
>>> php test.php

这种方式运行的脚本,不需要在第一行指定解释器信息,写了也没用。
运行的时候是一行一行运行的。

shell语法
shell变量

定义变量时,变量名不加美元符号($,PHP语言中变量需要),变量名和等号之间不能有空格,如:

your_name="runoob.com"

使用变量:使用一个定义过的变量,只要在变量名前面加美元符号即可,如:

echo $your_name
echo ${your_name}  # 两种都行
g++编译

g++是c++的编译器,将源代码(.cpp)转为机器语言,这样 CPU 可以按给定指令执行程序。链接时g++自动使用 C++ 标准库而不用 C 标准库。
g++参数:https://www.runoob.com/cplusplus/cpp-environment-setup.html
https://www.runoob.com/w3cnote/gcc-parameter-detail.html

  • -o:指定可执行程序的文件名(例,生成一个 runoob 可执行文件。)
g++ runoob1.cpp runoob2.cpp -o runoob

g++ 有些系统默认是使用 C++98,我们可以指定使用 C++11 来编译 main.cpp 文件:

g++ -g -Wall -std=c++11 main.cpp
创建动态链接库(.so)
  • 首先,生成目标文件,此时要加编译器选项-fpic
g++ -fPIC -c DynamicMath.cpp

fPIC 创建与地址无关的编译程序(pic,position independent code),是为了能够在多个应用程序间共享。
-fPIC :表示编译为位置独立的代码,用于编译共享库。目标文件需要创建成位置无关码, 念上就是在可执行程序装载它们的时候,它们可以放在可执行程序的内存里的任何地方。

  • 然后,生成动态库,此时要加链接器选项-shared
g++ -shared -o libdynmath.so DynamicMath.o

-shared指定生成动态链接库。
其实上面两个步骤可以合并为一个命令:

g++ -fPIC -shared -o libdynmath.so DynamicMath.cpp

BAT文件语法和技巧(bat文件的编写及使用)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值