初学高级程序设计 shell编程
初学shell编程,遇到的一些问题和总结:
一、#!/bin/sh 为什么要在shell程序里要加这一行?
首先在shell编程里面,“#”符号确实是一个注释符号,但是在这里绝对不是注释符号,是给的一个shell的路径,相当于是给的一个环境变量。如果没有加上这一句话,则程序执行会用默认的shell来解释执行,极有可能会报错。所以建议大家就把"#!/bin/sh当成C 语言的main函数一样,写shell必须有,以使shell程序更严密。
二、useradd 和 adduser的差别:
在CentOs下useradd与adduser是没有区别的都是在创建用户,在home下自动创建目录,没有设置密码,需要使用passwd命令修改密码。并且会在/home下创建一个用户名的文件,而在Ubuntu下useradd与adduser有所不同:
1、useradd在使用该命令创建用户是不会在/home下自动创建与用户名同名的用户目录,而且不会自动选择shell版本,也没有设置密码,那么这个用户是不能登录的,需要使用passwd命令修改密码。
2、adduser在使用该命令创建用户是会在/home下自动创建与用户名同名的用户目录,系统shell版本,会在创建时会提示输入密码,更加友好。
三、是否在shell编程中都需要加";"结尾?
在shell程序中的语句,“;”用于多个语句之间的分隔符,如果只有一条语句不用加“;”,如果语句在末尾也不用再加";"。
正在学习,待更新!由于初学shell,所以有很多地方了解的还不是很透彻,这些也是我查找各个博客和课本后的总结,如果有错误请及时留言,谢谢!
初学高级程序设计 shell编程的更多相关文章
- abc高级bash shell编程
http://www.pythoner.com/122.html abc高级bash shell编程
- 【Shell编程】Shell程序设计
1.Shell简介 作为Linux灵感来源的Unix系统最初是没有图形化界面的,所有的任务都是通过命令行来实现的.因此,Unix的命令行系统得到了很大的发展,逐步成为一个功能强大的系统. Sh ...
- 《JavaScript高级程序设计》学习笔记(5)——面向对象编程
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第六章内容. 1.面向对象(Object ...
- 小鸟初学Shell编程(四)管道符
管道作用 管道实际上就是进程之间的一个通信工具,那么用在Linux命令中主要是方便两条命令互相之间可以相互通信. 管道符 管道符(匿名管道)是Shell编程经常用到的通信工具. 管道符是"| ...
- 小鸟初学Shell编程(一)认识Shell
开篇介绍 Linux里非常的有用的一个功能,这个功能就叫Shell脚本. Shell脚本在我日常开发工作里也占了非常重要的角色,项目中一些简单的工作我们都可以使用Shell脚本来完成,比如定时删除日志 ...
- Shell编程笔记
Shell编程笔记与Windows下熟悉的批处理类似,也可以将一些重复性的命令操作写成一个脚本方便处理. 修改别人的脚本,运行后遇到个问题 setenv: command not found 查证 ...
- Linux Shell编程与编辑器使用详解
<Linux Shell编程与编辑器使用详解> 基本信息 作者: 刘丽霞 杨宇 出版社:电子工业出版社 ISBN:9787121207174 上架时间:2013-7-22 出版日期:201 ...
- 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介
前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...
- python高级之网络编程
python高级之网络编程 本节内容 网络通信概念 socket编程 socket模块一些方法 聊天socket实现 远程执行命令及上传文件 socketserver及其源码分析 1.网络通信概念 说 ...
随机推荐
- python基础之作业3----三级菜单小练习
data = { "华为技术":{ "产品与解决方案":{ "云核心网":{"云核心网研发管理部","云核心网 ...
- ansible-play中role的基本用法
#role应用 #roles跟调用角色的剧本文件应该与roles同级关系,即放在ansible目录下 #makir /root/ansible/roles/{nginx,http,ftp,mysql, ...
- lvs用户空间命令ipvsadm
ipvs工作在内核空间,而ipvsadm工作在用户空间,是负责管理集群服务编写规则的命令行工具 ipvsadm需要手动安装. $ yum -y install ipvsadm ipvsadm管理命令 ...
- Linux 操作系统目录结构
/ 根目录 # ls /bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp var bin - ...
- react中Redux应用框架学习
1. 最普通的react-redux 2.应用context的傻瓜组件和聪明组件的redux框架 3. 精简版react-redux,利用react-redux模块的redux(推荐) 4.多个模 ...
- java版数据结构与算法第二章数组
数组由一组具有相同类型的数据元素组成,并存储在一组连续存储单元中.一维数组是常量. 二维数组:若一维数组中的数据元素又是一堆数据结构,我们称之为二维数组.二维数组可以看成是n个列向量组成的线性表. 数 ...
- Fescar: Fast & Easy Commit And Rollback
Fescar is an easy-to-use, high-performance, java based, open source distributed transaction solution ...
- Sonar Java 规则插件开发 (基于阿里开发手册)
引言 最近在做Sonar静态代码扫描管理,以此顺手接了Sonar的插件开发,基于阿里开发手册进行开发,在整体开发过程中,其中还是遇到不少坑位,也以此给大家做相应借鉴官网Demo演示插件开发地址:htt ...
- php 微信调用扫一扫
类库代码: <?phpclass JSSDK { private $appId; private $appSecret; public function __construct($appId, ...
- 实际操作中遇到的问题--Django中查看已安装的包的相关命令
pip freeze --------查看已经安装的包 pip uninstall 安装包名 ---------卸载已安装的包 pip install 安装包名--------安装包