时间:2021-05-23
1.解决的问题
当你需要一次输入很多个命令的时候,例如一次去多个目录删除文件
复制代码 代码如下:
cd dir1
rm file1.temp
cd ../../dir2
rm -rf dir3
当你懒得输入一个好长的命令或者直接就记不住那么长的命令的时候,例如生成ctags
ctags --languages=C++ --exclude=third_party --exclude=.git --exclude=build --exclude=out -R -f .tags
当你想要个类似快捷键来一键搞定重复的事情又懒得写好多脚本的时候,
duang~~ 这个工具就有用啦!
2.感性认识
这个工具是个shell脚本,附在本文末尾,复制整个脚本源码,在本地保存为rew.sh,放到$PATH下,加上chmod +x权限。
文件名命名可以按喜好改。r e w 可以用一只左手输入完毕,然后tab键就出.sh了,我感觉挺好的。
前面所说的复杂操作就变成了这么简单:
一次去几个目录删除文件,只需要rew.sh d
如果想指定起始目录,还可以再带参数rew.sh d dir_path
生成ctags,只需要rew.sh ct
如果忘了这个脚本有什么功能,只需要不带参数运行crt.sh就会列出所有的命令。
3.理性认识
如果想加入自定义的命令,找到
复制代码 代码如下:
cmds=(xxxxx)
的地方,增加一行就可以了。每行就是一个参数和实际命令,可以看到:
复制代码 代码如下:
# defines commands here,format:
# shortcut|one space|action
cmds=(
'w ninja -C out/Debug android_webview_apk'
'gyp build/gyp_chromium'
'd gdb -ex=r --args out/Debug/chrome --no-sandbox http://100.84.44.189'
'ct ctags --languages=C++ --exclude=third_party --exclude=.git --exclude=build --exclude=out -R -f .tags'
# 'e echo example to show this can be commentted'
'r ninja -C out/Debug chrome_shell_apk'
'u updateChrome'
't testChromeShellMemory'
'o openUrlInCAWShell'
)
也就是,第一个空格前是rew.sh的参数(快捷键),第一个空格后是实际运行的命令。其中多个步骤的命令可以做成函数,例如:
复制代码 代码如下:
updateChrome() {
git pull
cd third_party/WebKit
git pull
gclient sync --nohooks
}
如果怕忘记长命令用来干什么,也可以放到函数里,函数名要见名知意或者加注释。
这个脚本可以被其它脚本调用,返回值和被代替的命令相同。
附工具脚本:
复制代码 代码如下:
#!/bin/bash
#author liuhx 2015/03/03 http://blog.csdn.net/hursing
# if including multiple steps, combine them into function
updateChrome() {
git pull
cd third_party/WebKit
git pull
gclient sync --nohooks
}
testChromeShellMemory() {
ps=`adb shell ps | grep org.chromium.chrome.shell`
rsss=`echo "$ps" | awk '{print $5;}'`
echo "$rsss"
pids=`echo "$ps" | awk '{print $2;}'`
for p in $pids; do
adb shell dumpsys meminfo $p | grep TOTAL | awk '{print $2;}'
done
}
openUrlInCAWShell() {
# $1 should be url
adb shell am start -a android.intent.action.VIEW -n com.caw.webkit.test/.BrowserActivity -e policy UCM_CURRENT_WINDOW -d $1
}
# defines commands here,format:
# shortcut|one space|action
cmds=(
'w ninja -C out/Debug android_webview_apk'
'gyp build/gyp_chromium'
'd gdb -ex=r --args out/Debug/chrome --no-sandbox http://100.84.44.189'
'ct ctags --languages=C++ --exclude=third_party --exclude=.git --exclude=build --exclude=out -R -f .tags'
# 'e echo example to show this can be commentted'
'r ninja -C out/Debug chrome_shell_apk'
'u updateChrome'
't testChromeShellMemory'
'o openUrlInCAWShell'
)
echoHelp() {
for ((i = 0; i < ${#cmds[@]}; i++)); do
echo "${cmds[$i]}"
done
shName=`basename $0`
echo -e "\033[0;33;1mexample: input '$shName ${cmds[0]%% *}' to run '${cmds[0]#* }'\033[0m"
}
if [[ $# -eq 0 ]]; then
echoHelp
exit 255
fi
for ((i = 0; i < ${#cmds[@]}; i++)); do
cmd=${cmds[$i]}
shortcut=${cmd%% *}
if [[ "$shortcut"x == "$1"x ]]; then
action=${cmd#* }
echo -e "\033[0;33;1m$action\033[0m"
# skip shortcut
shift 1
eval $action $@
exit $?
fi
done
# if no cmd matched, echoHelp
echoHelp
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
CAD中画圆弧的快捷键是arc,样条曲线功能完整命令是SPLINE,简化的快捷键SPL。CAD有修改快捷命令的功能,点工具中的自定义选择编辑程序参数,找到SPL
以CAD为例,曲线命令的快捷键命令是SPLINE,简化的快捷键是SPL。CAD就是计算机辅助设计(ComputerAidedDesign)的简称,是指利用计算机
终端打印终端是交互式工具,用户可以通过它与shell环境进行交互。在终端中打印文本是大多数shell脚本和工具日常需要执行的基本任务。通过终端打印,人们可以知道
dos常见命令有:调出运行命令窗口,按快捷键win+R,CMD命令提示符输入命令cmd后按回车,注册表输入命令regedit后按回车,打开画图工具,输入命令ms
cad弧长标注的快捷键命令是dimarc,简称dar,cad弧长标注快捷键命令的使用方法是: 1、首先输入命令dar,再按下回车键执行; 2、然后再点击弧线