shell命令:mv a b 将文件a改名为b, 可如果b已经存在,比如/test文件下有a和b两个文件,执行mv a b后,b被覆盖的了.也就是/test文件下只有a. 但是mv命令在pig的grunt中使用有问题,执行不稳定. pig编程指南中说,除了cd和pwd两个命令,其他命令不推荐使用. 在我测试后,确实如此,如果存在b文件,那么mv a b可能不被执行. 但是可以先rm b,然后在mv a b就可以执行了 我是因为在pig 脚本中涉及文件操作,所以在pig脚本中使用pig she
Linux shell有交互式与非交互式两种工作模式.我们日常使用shell输入命令得到结果的方式是交互式的方式,而shell脚本使用的是非交互式方式. shell提供了alias功能来简化我们的日常操作,使得我们可以为一个复杂的命令取一个简单的名字,从而提高我们的工作效率.在交互式模式下,shell的alias扩展功能是打开的,因此我们可以键入自己定义的alias别名来执行对应的命令. 但是,在非交互式模式下alias扩展功能默认是关闭的,此时仍然可以定义alias别名,但是shell
工作中经常在shell脚本中看到set的这两个用法,但就像生活中的很多事情,习惯导致忽视,直到出现问题才引起关注. 1. set -eset命令的-e参数,linux自带的说明如下:"Exit immediately if a simple command exits with a non-zero status."也就是说,在"set -e"之后出现的代码,一旦出现了返回值非零,整个脚本就会立即退出.有的人喜欢使用这个参数,是出于保证代码安全性的考虑.但有的时候,