1. “-bash: !”: event not found”

比如当我们在 linux 命令行输入echo "Reboot your instance!"时,便会给出标题的错误信息。之所以如此,在于对于 bash !是一个有着特殊含义的字符,常常用来指代之前的命令。

$ history | less
$ !某一数字
$ !! 运行上一命令

Understanding the exclamation mark (!) in bash

因此,这里 echo "reboot your instance!"中的感叹号,便是将以 !之后的字符为开始的上一条命令。

常用的解决方案如下:

  • set +o histexpand/set +H,关闭 bash 中的 history expansion(历史拓展)

2. 对 echo 输出重定向(>)时:permission denied

Cannot echo “hello” > x.txt even with sudo?

Redirect the output using sudo

$ sudo echo "hello" > f.txt

即使使用 sudo,仍然提示 permission denied,这是因为 bash 中的重定向操作在 sudo 生效之前已经开始执行了。

解决方法如下两种:

  • sudo bash -c 'echo "hello" > f.txt'
  • echo "hello" | sudo tee f.txt

“-bash: !”: event not found"、echo > sudo permission denied的更多相关文章

  1. Centos7 JDK安装过程中 解决java -version 报错: bash: /home/jdk1.8.0_161/bin/java: Permission denied

    1.执行Linux命令 -----vim /etc/profile  编辑profile  文件,在里面添加: #set java enviroment JAVA_HOME=/opt/JavaHome ...

  2. Centos 7 JDK验证 解决java -version 报错: bash: /home/jdk1.8.0_161/bin/java: Permission denied

    2.vim /etc/profile  编辑profile  文件,在里面添加: #set java enviroment JAVA_HOME=/usr/java/jdk1.8.0_144 JRE_H ...

  3. git bash 学习2 --更改url 重置密钥 Permission denied (publickey)问题

    在今天的上传过程中,我意外地遇到了一个问题,,每一次push都会出现 $ git push origin master Permission denied (publickey). fatal: Co ...

  4. Ubuntu系统如何卸载并安装新版本的jdk(permission denied问题)

    1.如果是自带的openjdk运行下面可以删除: sudo apt-get purge openjdk* 但是这种情况又不一定成功,有时候运行java -version发现还是可以运行的.证明删除不成 ...

  5. 避免’sudo echo x >’ 时’Permission denied’

    避免’sudo echo x >’ 时’Permission denied’ 甲: 示例sudo echo a > 1.txt-bash: 1.txt: Permission denied ...

  6. linux中如何通过echo输出!(叹号)? -bash: !": event not found

    需求描述: 今天在做通过echo结合passwd给用户改密码的过程中,出现无法修改的错误. 错误如下: [root@testvm ~]# useradd mytest [root@testvm ~]# ...

  7. 避免 ‘sudo echo xxxx >’ 时候 出现 “permission denied”

    ➜  ~ echo "/opt/nfs 10.10.10.*(rw,all_squash,sync)">>/etc/exports zsh: permission de ...

  8. Linux下-bash: Permission denied 或者 sudo: command not found 错误

    有时候执行一个脚本或者运行一个可执行文件时,如执行脚本./foo.sh,会报错-bash: ./foo.sh: Permission denied,你会再试sudo ./foo.sh,发现继续报错su ...

  9. Security基础(一):Linux基本防护措施、使用sudo分配管理权限、提高SSH服务安全

    一.Linux基本防护措施 目标: 本案例要求练习Linux系统的基本防护措施,完成以下任务: 修改用户zhangsan的账号属性,设置为2015-12-31日失效(禁止登录) 锁定用户lisi的账户 ...

随机推荐

  1. css3中关于伪类的使用

    目标: css中after伪类,last-child伪类的使用.以及部分css3的属性. 过程: 在制作导航时.常常会遇到在每个li后面加入一个切割符号,到最后一个元素的时候,切割符就会去掉的一种效果 ...

  2. Redis学习手冊(事务)

    一.概述:       和众多其他数据库一样,Redis作为NoSQL数据库也相同提供了事务机制. 在Redis中,MULTI/EXEC/DISCARD/WATCH这四个命令是我们实现事务的基石. 相 ...

  3. vue UI 框架

    (1)Element 饿了么 vue 2.0后台UI框架 (Star:18382) https://github.com/ElemeFE/element (1-1)Vuetify   最新的ui 框架 ...

  4. BZOJ 1231 状压DP

    思路: f[i][j] i表示集合的组成 j表示选最后一个数 f[i][j]表示能选的方案数 f[i|(1<< k)][k]+=f[i][j]; k不属于i j属于i且符合题意 最后Σf[ ...

  5. 洛谷P3383 【模板】线性筛素数(Miller_Rabin)

    题目描述 如题,给定一个范围N,你需要处理M个某数字是否为质数的询问(每个数字均在范围1-N内) 输入输出格式 输入格式: 第一行包含两个正整数N.M,分别表示查询的范围和查询的个数. 接下来M行每行 ...

  6. Kinect 开发 —— 手势识别(上)

    像点击(clicks)是GUI平台的核心,轻点(taps)是触摸平台的核心那样,手势(gestures)是Kinect应用程序的核心 关于手势的定义的中心在于手势能够用来交流,手势的意义在于讲述而不是 ...

  7. AtCoder Grand Contest 018 A - Getting Difference

    A - Getting Difference Time limit : 2sec / Memory limit : 256MB Score : 300 points Problem Statement ...

  8. nice---进程优先级

    在当前程序运行优先级基础之上调整指定值得到新的程序运行优先级,用新的程序运行优先级运行命令行"command [arguments...]".优先级的范围为-20 - 19 等40 ...

  9. [Docker 官方文档] 理解 Docker

    http://segmentfault.com/a/1190000002609286 什么是 Docker? Docker 是一个用于开发.交付和执行应用的开放平台,Docker 设计用来更快的交付你 ...

  10. win8用久了变得非常慢, 磁盘占用100%

    完美解决方式:  直接重装win7 完美解决这个问题 在网上查了非常久也没找到有效方法, 求教