linux打印服务叹号,linux中如何通过echo输出!(叹号)? -bash: !: event not found

需求描述:

今天在做通过echo结合passwd给用户改密码的过程中,出现无法修改的错误.

错误如下:

[root@testvm ~]# useradd mytest

[root@testvm ~]# echo "my@test!" | passwd --stdin mytest

-bash: !": event not found

错误分析:

经过查找该命令发现叹号!在linux中有特殊的定义,可以用来执行历史的命令或者当做逻辑否定等方式来使用,所以呢,叹号是一个特殊的字符,想要将字符进行当做普通字符来使用,必须进行转义.

问题处理:

1.通过转义字符对!号进行转义

[root@testvm ~]# echo "my@test\!"

my@test\!

备注:发现这样的输出里面就多了\.所以,这个方法不对.

2.echo后面使用单引号输出

[root@testvm ~]# echo 'my@test!'

my@test!

[root@testvm ~]# echo '$my@test! \ # %'

$my@test! \ # %

备注:如果使用单引号,那么就会原样的输出字符串,不进行转义,不取变量值

3.再次通过echo和passwd修改用户密码

[root@testvm ~]# echo 'my@test!' | passwd --stdin mytest

Changing password for user mytest.

passwd: all authentication tokens updated successfully.

[root@testvm ~]# su - mytest

[mytest@testvm ~]$ su - mytest

Password:

[mytest@testvm ~]$

备注:这样就可以在密码中包括!这个符号了.

4.经过测试发现,如果使用双引号输出字符最后一位是叹号!会报错,如果后面有空格就不会报错

[root@testvm ~]# echo "my@test! " #后面有空格,就能够输出叹号,所以如果叹号是最后一位是要接事件event的,但是这样密码中也有空格了.

my@test!

[root@testvm ~]# echo "my@test!"

-bash: !": event not found

5.经过测试,echo后面直接接字符就可以即不将其放入到单引号也不放在双引号中

[root@testvm ~]# echo my@test! | passwd --stdin mytest

Changing password for user mytest.

passwd: all authentication tokens updated successfully.

[root@testvm ~]# su - mytest

[mytest@testvm ~]$ su - mytest

Password:

[mytest@testvm ~]$

备注:同样达到一样的效果,这里没有使用单引号,也没有使用双引号.

文档创建时间:2018年7月2日13:28:20

文档修改1:增加4这个测试,使用双引号,!号后面加空格可以输出,但是密码不符合预期的要求.          时间:2018年7月2日13:35:08

文档修改2:增加5的内容,echo后面不使用单引号,也不使用双引号进行叹号的输出.          时间:2018年7月2日13:43:44

(转)linux 中使用ls指定输出时间格式

linux 中使用ls指定输出时间格式 原文:http://blog.csdn.net/chaofanwei/article/details/13018753 ls -l --time-style=x ...

如何在 Linux 中查看进程占用的端口号【转】

对于 Linux 系统管理员来说,清楚某个服务是否正确地绑定或监听某个端口,是至关重要的.如果你需要处理端口相关的问题,这篇文章可能会对你有用. 端口是 Linux 系统上特定进程之间逻辑连接的标识, ...

Myeclipse中导入新项目报叹号

Myeclipse中导入新项目报红色叹号 原因是导入项目中,有的jar路径不对, 在上图中,先把报错的jar移除,之后将JRE开头的那个library移除,最后点击add Library,选择jre. ...

linux中的设备名称和设备号

看赵炯博士的已经两三周了,从今天起开始将一些个人总结和感悟分小标题写出来,聊作记忆以供后来查看.在linux0.11源码的 /linux/boot/bo ...

Linux中的设备文件与设备号

设备文件与设备号   在Linux下,一切皆文件,设备也不例外,为了管理这些设备,系统为它们各自都编了号,而每个设备号又分为主设备号和次设备号.主设备号用来区分不同类型的设备,而次设备号用来区分同一类 ...

LINUX中printf与echo的区别

(1)首先echo是回显,即代表回车显示,是自带换行的:而printf只是打印出来,没有换行(2)echo只是回显没有变量替换功能:printf是有的举例:假如我们定义好变量a='hello worl ...

linux中sftp默认登录的端口号是多少? sftp通过指定的端口号连接?sftp默认端口号

需求描述: 今天一个同事,遇到个问题,程序连接sftp服务器连接不上,问我端口号是多少, 我想了一下是21还是22,所以就做了测试,发现sftp默认的连接端口号是22, 在此做下记录. 操作过程: 1 ...

Linux中的一些点

前言 本文记录一些日常使用linux的一些点. 系统负载评估 理解Linux系统负荷 查看 ps -ef [root@deployer ~]# ps -ef UID PID PPID C STIME ...

随机推荐

java 环境变量 设置 问题

问题按照网上教程配置好了  tomcat可以用了.但是发现java不能用. 网上教程(类似教程太多了 ,就不 具体说了 http://jingyan.baidu.com/article/f96699b ...

C#简单windows服务

因为做后台比较多,所以经常需要写一些后台服务.一般的流程是先创建一个服务项目,加入代码.然后打包一个安装程序或者直接用dos命令安装服务.下面是详细内容:    1. 创建windows服务项目.  ...

iOS 跳转到系统的设置界面-b

在项目中,我们经常会碰到使用位置的需求.当用户设置app不允许使用位置的时候,最好的用户体验就是直接调转到系统的位置设置界面,进行设置. 本人已经测试,在5c iOS8.3系统 和 5s iOS7.1 ...

使用dojo遮罩加载进度。

使用dojox.widget.Standby来实现类似视频缓冲加载时候转圈的效果.

html5时间选择器

HTML5日期输入类型(date)   分享   分享   分享   分享   分享 在很多页面和web应用中都有输入日期和时间的地方,最典型的是订飞机票,火车票,酒店,批萨等网站. 在HTML5之前 ...

Vi编辑器入门

Vi编辑器入门   vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于windows上的记事本! 1.vi的基本概念  基本上vi可以分为三种状态,分别是命令模式(command mode ...

python+selenium自动测试之WebDriver的常用API(基础篇一)

基于python3.6,selenium3.141,详细资料介绍查看官方API文档,点击这里 一.对浏览器操作 driver = webdriver.Chrome() # 初始化chrome driv ...

Extjs 在项目中碰到问题

1.切换tabpanel,新建tab关闭后再新建报错,在火狐下报错 TypeError: el is null   el.addCls.apply(el, arguments); 这个我在下一篇文章中 ...

HDU ACM 1856 More is better(并查集)

[题目链接]http://acm.hdu.edu.cn/showproblem.php?pid=1856 [解题思路]给的数据有点大,干脆少开点数组,直接上set存储有朋友的孩子的编号,同时根据编号初 ...

opencv学习之路(11)、图像几何变换

一.图像缩放 #include using namespace cv; void main(){ Mat src=imread("E:// ...

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/527126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux磁盘资源,liunxCPU和内存,磁盘等资源,

liunxCPU和内存,磁盘等资源,1.Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多…

linux降低线程优先级,Linux线程优先级,行为不正常

在下面的代码片段中,我创建了6个线程。各有不同的优先级。全局优先级数组中提到了优先级。我正在根据线索索引在每个线程内连续增加全局变量。如果线程优先级更高,我期待计数更高。但我的输出不遵循优先概念pl。请参阅下面显示的输出顺序。我在Ubuntu 16…

linux非阻塞等待线程,linux – 即使异步I / O操作挂起,只有线程处理io_service正在等待...

这是一个错误.我已经能够通过在task_io_service :: do_poll_one的非关键部分添加延迟来复制它.以下是booost/asio/detail/impl/task_io_service.ipp中修改后的task_io_service :: do_poll_one()的片段.添加的唯一行是sleep.std::size_t task_io_service::do_poll_one(mutex::sc…

linux创建文件内容三行,shell之创建文件及内容的方法示例

shell之创建文件夹:[rootvbox-nginx shell_command]# vi ./mkdir.sh#!/bin/shparentDir"/media/sf_Project/self/smarty-frame/application/$1"fileName$2dirAndName$parentDir/$fileNameif [ ! -d "$dirAndName" ];thenmkdir $dirAndNameecho …

linux设备模型的主要功能,Linux设备模型(3)

Linux设备模型(3)_Uevent作者:蜗蜗 发布于:2014-3-10 20:39分类:统一设备模型1. Uevent的功能Uevent是Kobject的一部分,用于在Kobject状态发生改变时,例如增加、移除等,通知用户空间程序。用户空间程序收到…

lua_path环境变量设置linux,ubuntu16.04安装lua环境

1.官网下载源码 https://www.lua.org/download.htmlcurl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gztar zxf lua-5.3.5.tar.gzcd lua-5.3.5make linux test2.安装中报错lua.c:82:31: fatal error: readline/readline.h: 没有那个文件或目录compilation terminated.: recip…

动态度量 linux,动态可信度量.ppt

动态可信度量提纲 静态可信度量根 动态可信度量根 Flicker: Minimal TCB Code Execution 静态可信度量的问题 2006年,德国Dresden大学的研究者发现现有的静态可信度量根存在着如下缺陷: 引导装载程序(Bootloader)中存在bug Dartmouth的Bear project的可信…

linux svn 面板,Linux下SVN服务器搭建(CentOS+Subversion)

安装(centos下yum即可方便的完成安装)# yum install subversion测试安装是否成功:# svnserve --version 回车显示版本说明安装成功建立版本库# mkdir /svndata 创建svn数据目录(目录可自行制定)# svnadmin create /svndata/kumingkuming就是版本库的名字&#xff0c…

华为手机怎么下载linux命令,在linux命令

REMOTE_DIR为将根证书上传到弹性云服务器的文件目录。 Windows操作系统下,请使用远程连接工具上传根证书。 连接数据库实例。 方式一:通过Linux命令连接实例 ./mongo --host--port-u-p--authentic目录。 Windows操作系统下,请使用远程连接工具…

edHat linux光盘引导,[原]个性化Linux发行版光盘之补充——XZ(LZMA算法)

红帽(Red Hat)从Enterprise Server 6.2 开始,启动镜像文件initrd.img 开始改用xz 工具进行压缩,这与以往版本是有区别的。一、启动镜像initrd.img 文件类RedHat 系统从vmlinuz 核心引导后,会读取initrd.img 启动镜像。该文件中包含驱动模块等…

c语言用指针变量输入数组的长度,C语言之数组的基础练习题(指针变量做函数参数)...

1、交换两个变量的值:#include void swap(int *a,int *b){int tmp;tmp*a;*a*b;*btmp;}void main(){int x,y;int *p_x,*p_y;printf("请输入两个数:\n");scanf("%d",&x);scanf("%d",&y);p_x&x;p_y&y;swap(p…

c语言 p *p,C语言之指针*p++和*(p++)区别

在C语言的指针运算中,经常会碰到以下用法:*p、*p、(*p)、*(p),在解决问题前,先了解一下基础:1、 * 号和 符号属于同级运算,且优先运算顺序是从右到左。2、a 表示:在当前一整句代码中&#xff0…

皮尔洛和c罗讲什么语言,皮尔洛:如果我跟C罗是队友 我可能能成历史助攻王

皮尔洛:欧冠夺冠热门不包含皇马腾讯体育11月2日讯 近日皮尔洛在接受媒体采访时表示,本赛季欧冠的争夺将会十分激烈,除了尤文外,有四支球队也是欧冠桂冠有利的争夺者,但并不包括卫冕冠军皇马。另外皮尔洛还表示&#xf…

两条直线求交点c语言,C§ 3.3.1两条直线的交点坐标(5页)-原创力文档

3.1两条直线的交点坐标学习目标1.掌握判断两直线相交的方法;会求两直线交点坐标;2.体会判断两直线相交中的数形结合思想.学习过程一、课前准备:(预习教材P112~ P114,找出疑惑之处)1.经过点,且…

C语言一维数组实现杨辉三角,一维数组实现杨辉三角

杨辉三角Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 43411 Accepted Submission(s): 18254Problem Description还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以…

c语言读取nc文件格式,nc文件资料地读取与处理.doc

标准文案.nc?文件的查看和处理2013-08-04 12:45阅读:2,168最近在学习冰后回弹模型( http://www.atmosp.physics.utoronto.ca/~peltier/data.php),里面给出的数据为nc(netcdf)格式的,读取是个问题,在言深深的帮助下,成…

android 界面跳转封装,【Android】Fragment跳转系列

一、同一个Activity下Fragment之间相互跳转(含带参数)Fragment1跳转到Fragment2中1.封装一个方法这样封装是方便一个Activity下有多个Fragment来回跳转public interface RegisterTrigger {void triggerView(Fragment fragment);}2.当前Activity继承RegisterTriggerpublic class…

android 调用系统短信接口开发,聚合数据Android SDK 短信api接口验证演示示例

1.到libs聚合SDK是聚合数据平台,为移动开发者提供的免费数据接口.使用前请先到聚合平台(http://www.juhe.cn/)注册,申请相关数据.2.下载聚合数据SDK,将开发包里的smscaptcha_sdk_v_1_1.jar拷贝到libs根目录下,将libJuheSDK_v_1_0.so拷贝到libs\armeabi目录下,如图:3…

扇区 修复 linux,linux – 如何使用hdparm来修复挂起的扇区?

SMART正在说明我服务器硬盘上的一个待处理扇区.我已经阅读了许多文章,建议使用hdparm“轻松”强制磁盘重新定位坏扇区,但我找不到正确的方法来使用它.我的“smartctl”中的一些信息:Error 95 occurred at disk power-on lifetime: 20184 hours (841 days 0 hours)W…

android获取操作系统版本号,Android 获取手机的厂商、型号、Android系统版本号、IMEI、当前系统语言等工具类...

1、获取手机制造厂商2、获取手机型号3、获取手机系统当前使用的语言4、获取Android系统版本号5、获取手机IMEI串号6、获取手机中的语言列表SystemUtil类1./**2.* 系统工具类3.* Created by zhuwentao on 2016-07-18.4.*/5. public class SystemUtil {6.7./**8.* 获取当前手机系…