shell脚本点滴
来源:互联网 发布:手机淘宝店铺收藏地址 编辑:程序博客网 时间:2024/06/03 14:31
1. 获取脚本当前路径:
FILE_DIR=`echo $(cd $(dirname $0); pwd)`
2. shell整数计算可用expr,非整数计算可用awk内置函数实现:
四舍五入:
awk BEGIN'{printf("%d", 1.7+0.5)}'
保留小数:
awk BEGIN'{printf "%.2f\n", 2/3}'
3. (())
while read line
do
((lineNum++))
done < inputfile
4. 在文件中查找关键字时,用grep -c XXX 比grep XXX | wc -l 的效率要高,
但是查找进程时,ps -ef | grep XXX | grep -v grep |wc -l 才是对的,因为要过滤掉grep进程
5. grep -A4 '#!/bin/bash' dir.sh #-A4 代表显示前四行
6. cut命令
linux-0xvi:/opt/Program # echo abcdefghi | cut -b2-5
bcde
linux-0xvi:/opt/Program # echo abcdefghi | cut -c2-5
bcde
linux-0xvi:/opt/Program # echo abc:def:hij:kmn | cut -d: -f2-3
def:hij
7.linux捕获信号:
linux-0xvi:/opt/Program # cat signal.sh
#!/bin/bash
function handle
{
echo "received a signal"
}
trap 'handle' HUP INT QUIT TSTP
sleep 5
8.用stty和dd实现暂停
linux-0xvi:/opt/Program # cat press.sh
#!/bin/sh
function char
{
settty=$(stty -g)
stty raw
stty -echo
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty echo
stty -raw
stty $settty
}
echo -n "press any key to continue..."
input=`char`
9. perl -e 'print time'
10. 一条命令建立目录树: mkdir -p test/{inc,src,help/{html,pdf,doc}}
11. 命令行下:ctrl+a 跳到行首,ctrl+e 跳到行尾
12. rm命令前面的两个单引号,或者一个反斜线\是什么含义?
有的系统会默认对一些常用命令做别名处理,例如alias ll='ls -l', alias rm='rm -rf'等等。如果用户不想使用别名,同时也不希望改变系统的别名设置,就可以在命令前面加上两个单引号,或者一个反斜线,表示取消别名.
$ alias rm='rm -rf'
$ ''rm foo.c
rm: remove write-protected regular file 'foo.c'? n
$ \rm foo.c
rm: remove write-protected regular file 'foo.c'? y
13. 如何处理一个以短横线-作为首字母命名的文件
有两种方式处理一个以短横线-作为首字母命名的文件,其一是在文件名之前加上两个短横线作为参数,其二是在文件名之前指定绝对路径或相对路径。
$ touch -- -foo.c #创建以短横线开头的测试文件
$ rm ./-foo.c #利用相对路径删除以短横线开头的测试文件
14. 如何添加指定用户的属组
usermod命令的-G选项是创建指定用户的属组列表,以前的属组列表会被删除。如果想要保留以前的属组列表,需要同时指定-aG选项。
$ sudo usermod -aG group_name user_name
15. () 使用子shell
比如 (cd ../../commlib/; make)
16. 脚本修改用户密码
useradd asgdbg -d /home/asgdbg
echo asgdbg:123456 |chpasswd
or
echo '123456'|passwd --stdin asgdbg
16. Makefile中创建目录: $(shell [ ! -d obj ] && mkdir obj)
- shell脚本点滴
- Shell脚本点滴
- shell 点滴
- shell 点滴
- SHELL点滴
- shell 点滴
- shell点滴
- shell 点滴
- Solaris shell 使用点滴
- shell使用点滴
- MongoDB Shell API 点滴
- 记录Shell的点滴
- 【shell点滴】参数变量
- Linux Shell学习点滴
- 编写脚本 的点滴
- Linux系统Shell命令点滴
- shell编程心得点滴分享!
- 点滴记录一些shell命令
- ACM题目分类
- Spring与Hibernate集成_声明式事务
- Visual C++开发工具与调试技巧全面总结
- J2ME添加自定义图标
- Android Google map使用
- shell脚本点滴
- Remove Albinos Defender Scam
- 我是一个新人,欢迎各位朋友一起讨论技术(C#.NET)
- Java无法连接MongoDB问题
- POJ1811(没有AC依旧TLE)
- ARM DS-5入门之DS-5 教程(更新至8,未完,待续!)
- TabActivity,LocalActivityManager,TabHost,TabWidget深度分析
- 查看 Oracle 数据库锁和解锁的方法
- linux windows下 开发感受