ILD

Bash clear commands path cache
2018-1-11
有时候,命令从$PATH环境变量的一个路径移动到另一个路径时,执行命令,bash提示文件不存在。这是由于Bash有缓存机制。Tobu:bash does cache the full path to a command. You can verify that the command you are

bash进程前后台运行
2018-1-17
进程在前台运行时,执行Ctrl + Z,进程进入后台暂停:$ git difftool --cached -d^Z[1]+ Stopped git difftool --cached -d让进程在后台继续运行:$ bg [1]+ git difftool --cac

bash单引号中包含单引号
2018-1-18
不允许在单引号中包含单引号,即使转义单引号也不行:$ echo '\''> 但是用Bash的字符拼接特性可以实现:$ echo ''"'"'''上述实际上,是3个部分拼接' '" ' "' '中间没有空格,为了显示添加的空格,第一个是空字符串,第二个是单引号,第三个是空字符串。Explanatio

bash命令行移动光标
2018-2-27
移到开头:Ctrl + A移到结尾:Ctrl + E前进一个字符:Ctrl + F后退一个字符:Ctrl + B前进一个单词:ALT + F后退一个单词:ALT + B清除屏幕:Ctrl + L删除光标处字符:Ctrl + D清空输入的命令:Ctrl+U从光标处删除到行尾:Ctrl + K从光标处删

bash reverse a list
2018-7-12
有时需要反序一个变量的word,比如加载模块和卸载的顺序相反。Bash中可以用数组,但是POSIX不支持数组,此时可以将变量存入positional parameters,然后按编号逆序读取。unload (){ set -- $drivers i=$# while [ $i -g

Command Substitution
2018-7-24
命令替换,使用命令的输出替换自己,偶两种形式:$(command)或者`command`bash在一个subshell执环境之下命令,使用标准输出替换命令。输出结尾的newlines被删除。但是内部的newlines不被删除。$(cat file)可以使用$(

IFS切割变量
2019-4-27
如果文件名有空格,那么ls赋值给变量,然后用for的时候,就会有问题。办法是设置IFS变量为换行,那么切割的时候,就按换行切割就能循环获得所有的文件名了。a=`ls -1`IFS=$'\n'for b in $a ; do echo process "$b" ffmpeg -i "$

管道实现server和client的例子
2019-7-22
server.sh#!/bin/shserver_fifo=/tmp/server_fifounlink $server_fifo 2>/dev/nullmkfifo $server_fifowhile true; do read STR 0<&9 echo "read cmd: $STR" set

shell重定向
2019-7-23
1 简述重定向可以允许命令的文件句柄被复制、打开、关闭、指向不同的文件。重定向也可以改变当前shell执行环境的文件句柄。重定向可以出现在命令前,单个命令中的任何地方,或者命令后。重定向按它们出现的顺序从左到右处理。2 实现重定向的系统调用open,打开文件,根据重定向的类型,使用对应的只读、只写、

word splitting, $*, $@
2020-2-16
Word Splittingshell获得parameter expansion, command substitution,arithmetic expansion的结果,如果扩展不发生在双引号内,执行word splitting。shell使用IFS变量的值,作为分隔符来切割扩展结果。如果IFS

Copyright © insidelinuxdev.net 2017. Some Rights Reserved.