linux 变量 获取时间,Linux环境-程序参数&环境变量&时间和日期

main函数原型

int main(int argc, char *argv)

参数由上一级的程序调用传入,一般是shell,注意,Linux的shell一般会在设置argc和argv之前对文件名参数进行通配符拓展,而MS-DOS的shell则希望程序接受带通配符的参数,并执行自己的通配符。

通配符只有*,?,[],{}这4种

20200115212403798239.png

argv[]数组,程序名也作为参数,argv[0]就是程序名

命令行参数约定

0.所有的命令行都应该以一个短横线(-)开始,其后包含单个字母或数字

1.不带后续参数的选项可以下一个短横线后归并到一起,如 ls -lstr

2.如果某个选项需要参数,则参数应该紧跟在该选项之后

X/Open规范,提供了解析命令行选项的标准用法 getopt()函数

1 #include

2

3 int getopt(int argc,char *const argv[],const char *optstring);4 extern char*optarg;5 extern int optint,opterr,optopt;

P117有使用getopt()函数的例程.

getopt_long()函数可以处理非单个字符的 含义更明确的参数 接受以 -- 开头的长参数

环境变量&时间和日期

2019年10月23日

12:07

用来控制shell脚本与其他程序行为的变量,可以使用他们来配置用户环境。

标准环境变量包括终端类型、默认的编辑器、时区等

C语言可以通过putenv()和getenv()函数来访问环境变量

1 #include

2

3 char *getenv(const char *name);4 int putenv(const char *string);

环境由一组格式为"名字-值"的字符串组成,getenv函数以给定的名字搜索环境中的一个字符串,并返回该名字相关的值。 请求变量不存在or无关联值 返回null

设置环境仅对程序本身有效,不会反映到外部环境中,这是因为变量的值不会从子进程传递到父进程(shell)

程序可以通过environ变量直接访问这个字符串数组获得当前的环境变量

时间和日期

所有的UNIX系统都使用同一个时间和日期的起点,即格林尼治时间1970年1月1日0点,其他所有的时间均是以那时经过的秒数来衡量。

时间通过一个预定义的time_t来处理,定义在time.h头文件中‘

1 #include

2 time_t time(time_t *tloc);

测算某些事情的持续时间,可以调用difftime()函数,返回值为一个double类型的数据

double difftime(time_t time1,time_t time2);

将时间分解为一个结构,返回世界标准时间

20200115212404303141.png

返回当地时间,需要使用 struct tm *localtime(const time_t *timeval);函数

将tm结构转换成原始数据,使用mktime()函数

使用asctime()函数,返回日期字符串。ctime()函数用于读取当地时间,返回字符串 相当于 asctime(loacltime(timeval))

strftime()格式化输出时间函数

20200115212404607841.png

20200115212404909610.png

原文:https://www.cnblogs.com/Mrwang-tju/p/12198451.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值