- 博客(8)
- 收藏
- 关注
原创 getopt命令,shell脚本获取命令行选项参数
getopt的经典使用是与set配合使用:set -- $(getopt xxxx),例如:set -- $(getopt -o ab:c:: --long along,blong:,clong:: -n 'example.sh' -- "$@")区别:getopt可以获取长选项参数,例如--example=123456789(长选项可以使用=号来附带参数值)这样的选项,同时,还可以获取-example,-test123456789(附带参数)这样的短选项,短选项不能使用=号来附带参数值。
2023-07-31 09:46:14
287
1
转载 set命令,脚本执行的维护安全卫士
set命令的上面这四个参数,一般都放在一起使用。# 写法一# 写法二set -eux这两种写法建议放在所有 Bash 脚本的头部。另一种办法是在执行 Bash 脚本的时候,从命令行传入这些参数。
2023-07-31 09:21:43
155
1
原创 exit和return的区别
(a) exit是系统调用级别的 ,它表示了一个进程的结束,用于在程序运行过程中随时结束程序, exit的参数是返回给os的,exit是结束一个进程,它将删除进程使用的内存空间,同时把错误信息返回父进程;return()是返回函数值并退出当前函数,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调用。(b) exit 是一个函数,exit是操作系统提供的(系统函数库中给出的)。return():返回函数,若在主函数中,则会退出函数并返回一个值。
2023-07-28 17:17:57
455
2
原创 C语言getopt()函数——Linux
(2)选项字符后面跟两个冒号“::“,则此选项的参数是可选的,即如果提供选项参数,则选项参数必须紧跟在选项字符后面,不能以空格隔开,如”o::",则命令行中应该是这样的"-oarg",同样用optarg获取,如果没有提供值,则optarg为0。int optopt:若一个选项在argv中,但不在选项字符串中时,或者一个带参数的选项没有参数时,getopt()会返回字符?",即W后面一个分号,那么当命令行中出现“-W foo”,它们就会被当成是一个长选项,即“–foo”。//将选项-n的参数字符串转为整数。
2023-07-28 16:58:43
585
原创 头文件“unistd.h“解释
unistd.h为Linux/Unix系统中内置头文件,包含了许多系统服务的函数原型,例如read函数、write函数、getopt函数和getpid函数等。其作用相当于windows操作系统的"windows.h",是操作系统为用户提供的统一API接口,方便调用系统提供的一些服务。unistd.h 是 C 和 C++ 程序设计语言中提供对。Unix和Linux都遵循POSIX这个标准。操作系统(可移植系统)
2023-07-28 14:15:24
3581
1
原创 C语言字符串函数
(2)如果复制前未对str1数组初始化或赋值,则str1各字节中的内容是无法预知的,复制时将str2中的字符串和其后面的’\0’一起复制到字符数组1中,取代字符数组1中的前面6个字符,最后4个字符并不一定是’\0’,而是str1中原有的最后4个字节的内容。(2)连接前两个字符串后面都有’\0’,连接时将字符串1后面的’\0’取消,只在新串最后保留’\0’。作用:把两个字符数组中的字符串连接起来,把字符串2,接到字符串1后面,结果放在字符数组1中,函数调用后。(1)如果字符串1与字符串2相同,则函数值为0。
2023-06-30 17:31:33
257
原创 父子进程的使用
exec函数会取代执行它的进程, 也就是说, 一旦exec函数执行成功, 它就不会返回了, 进程结束. 但是如果exec函数执行失败, 它会返回失败的信息, 而且进程继续执行后面的代码!孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。一个父进程fork()创建了一个子进程,子进程共用父进程所以的代码,对于父进程的数据域,则实行写时拷贝,即父子进程进行修改时拷贝数据给子进程,不修改时共享数据。如果一个进程要f o r k一个子进程,但不要求它等待。
2023-06-30 15:32:47
165
原创 Inotify——实现Linux文件系统的监控
Inotify是Linux中用于监控文件系统变化的API,该API可以实现用非轮询的方式,近似实时地监控目录或文件发生的变化。
2023-06-30 14:52:38
1614
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人