本文作者:ptiyny

linux shell如何学习 linux shell教程

ptiyny 06-15 21
linux shell如何学习 linux shell教程摘要: 大家好,今天小编关注到一个比较有意思的话题,就是关于linux shell如何学习的问题,于是小编就整理了5个相关介绍linux shell如何学习的解答,让我们一起看看吧。先学s...

大家好,今天小编关注到一个比较意思的话题,就是关于linux shell如何学习问题,于是小编就整理了5个相关介绍Linux shell如何学习的解答,让我们一起看看吧。

linux shell如何学习 linux shell教程
图片来源网络,侵删)
  1. 先学shell还是linux?
  2. linuxshell脚本执行的过程是怎样的?
  3. 嵌入式Linux开发中的Linux Shell是什么?
  4. linuxshell脚本中如何引入当前的系统环境变量?
  5. linuxC程序中如何获取shell的脚本输出呢?

先学shell还是linux?

我个人认为想学linux,首先学shell编程还是有必要的。 通过学习shell编程,你可以很快的熟悉linux中各种命令操作脚本编写函数应用等等。这为进一步学好linux的各种应用和服务基础,也是不断熟悉linux的一种途径。 这只是我的看法,我是先学习shell编程的。

linuxshell脚本执行过程是怎样的?

Linux下可以有两种方式执行Shell脚本:

1、用shell程序执行脚本:根据shell脚本的类型选择shell程序,常用的有sh,bash,tcsh等(一般来说第一行#!/bin/bash里面指明了shell类型的,比如#!/bin/bash指明是bash,#!/bin/sh则是sh);然后输入命令(其中bash为shell的名称,myshell.sh则为要执行的代码): bashmyshell.sh

2、直接执行脚本: 不过首先的加上可执行权限(也许要root权限,4情况而定),执行: chmod+xmyshell.sh 然后执行: ./myshell.sh 就可以执行了。

linux shell如何学习 linux shell教程
(图片来源网络,侵删)

嵌入式Linux开发中的Linux Shell是什么

虽然我做linux嵌入式测试,不是开发。但我可以告诉你,绝对必要。Linux下很多事情用shell脚本来处理非常方便:

1)启动脚本,负责启动系统进程、守护进程等。

2)脚本可以做一些文件处理、命令行工具调用,在C程序中用system系统调用方式执行脚本。

linuxshell脚本中如何引入当前的系统环境变量

你的export命令是给当前shell的,当前console一关,shell一退,就没了。

linux shell如何学习 linux shell教程
(图片来源网络,侵删)

你应当把它写到每次启动时都加载的shell脚本里(系统的/etc/bashrc或者用户的~/.bashrc),它会在每次启动shell时都被执行。

Unix的所有环境变量、命令行指令alias什么的,都是使用这个机制。

linuxC程序中如何获取shell的脚本输出呢?

你说的是Linux C程序获取shell脚本(命令)输出吧,这里简单介绍3种方式,分别是临时文件、匿名管道和popen函数,感兴趣的朋友可以尝试一下:

临时文件

这种方式最容易实现基本思想是调用C语言标准库的system函数,shell命令或脚本,将输出结果重定向到一个临时文件中,然后读取临时文件,获取shell执行结果,测试代码如下,非常简单,输入参数分别为shell命令(脚本)和临时文件名,最终结果保存在临时文件中:

匿名管道

这种方式主要是管道,先pipe创建一个匿名管道,然后fork创建一个子进程,子进程运行shell命令或脚本,并将标准输出dup到匿名管道的写端,父进程再从匿名管道读端读取数据即可,测试代码如下,非常简单,子进程对应写端,父进程对应读端:

popen函数

这种方式最简单,C标准库专门提供了一个popen函数,可以非常简单的处理调用shell,基本思想创建一个管道,fork一个进程,然后执行shell,而shell的输出可以采用读取文件的方式获得,这种方式既避免了创建临时文件,又不受输出字符数的限制,推荐使用:

目前,就分享这3种Linux C程序获取shell脚本(命令)输出的方式吧,对于日常开发应用来说,完全够用了,只要你有一定的C语言基础,熟悉一下上面的代码,很快就能掌握的,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

到此,以上就是小编对于linux shell如何学习的问题就介绍到这了,希望介绍关于linux shell如何学习的5点解答对大家有用。

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享