标签(空格分隔): Linux sh 命令 环境 bash
安装包错误
ImportError: No module named sqlalchemy
但是python中 import sqlalchemy可以执行成功,且包sqlalchemy已经安装
暂定解决方案:重装虚拟环境
推测:之前安装的sqlalchemy包不全,安装不完全但是成功了。
find ./ -iname xxx
grep -i xxx
vim下 /xxx\c
Vim精准查询 /\<xxx\>
编辑/etc/rc.local文件
添加:su db2inst1 -lc db2start
保存一下,重启,会发现DB2自动启动了
paste命令合并文件的列
paste [-s][-d <间隔字符>][--help][--version][文件...]
paste f1 f2 f3
paste -s file #合并指定文件的多行数据
.base_profile 文件下
export LANG='zh_CN.UTF-8' # 设置用户的语言环境
软件乱码 - 设置语言编码为 UTF-8 即可。
菜鸟教程~vi使用
VI命令图片:
g # 行内跳转
e v + ey # 从当前位置跳到单词词尾
b v + eb # 从当前位置跳到单词词头
viw # 选中当前位置所在的单词
zt:移动光标所在行至屏幕顶端,zb:底端,zz:中间
gf:打开光标所在处的文件名
命令前加数字重复多次操作,例如(2p,2d等)
vim中 u,撤销(vim中不会撤销上一次撤销的内容),'.' 重复上个动作,ctrl r(撤销上个撤销,类似vi中的u u)
/word1\|word2 # 查询含有word1或者word2
/word1\c # 查询word1,忽略大小写
:%s/abc/123/g # 文件内全部替换
:20,30s/abc/123/g # 文件内局部替换
/ 可用 # 替换
选中u 全部转小写
选中U 全部转为大写
选中~ 大小写转换
Ctrl+n/p # 命令补全
set list 显示vi中行尾的特殊符号,可以用来处理未知的缩进错误。
#!/bin/bash #bash命令编译
#参数
a=1 #参数赋值
$a #参数值 加上$表示变量
echo "打印 $a" #打印 1
#if判断
if [ $a = 1 ];then
echo "a 等于 1"
else
echo "a 不等于 1"
done
#for循环
b=2
aa=($a $b 3 4) #参数列表 只能用(),并且参数之间只能用空格隔开
echo ${aa[@]} #参数列表的值
for i in ${aa[@]}
do
echo "运行 $i"
done
#for ((变量初始化;条件判断;变量自变)); do 一些命令 ; done ;
for ((i=0;i<=10;i++));do echo $i;done;
其中用两个括号括起
#函数体
run(){
echo "进入函数"
}
run
#命令执行符号 ` `
bash的命令执行 `cat 1.txt `
echo `cat 1.txt`
位置参数,从命令行传递给脚本,或者是传递给函数.或者赋职给一个变量.
* $0 : ./test.sh,即命令本身,相当于C/C++中的argv[0]
* $1 : -f,第一个参数.
* $2 : config.conf
* $3, $4 ... :类推。
* $# 参数的个数,不包括命令本身,上例中$#为4.
* $@ :参数本身的列表,也不包括命令本身,如上例为 -f config.conf -v --prefix=/home
* $* :和$@相同,但"$*" 和 "$@"(加引号)并不同,"$*"将所有的参数解释成一个字符串,而"$@"是一个参数数组。
参数列表用 ${aa{@}}
对于"${aa[*]}" 和 ${aa[*]} 不同,前者是一个参数1 2 3,后者是一个参数列表。
$0表示当前执行的进程名,script本身的名字,或者在正则表达式中表示整行输出
\$#命令行或者是位置参数的个数\*所有的位置参数,被作为一个单词注意:" *”必须被”“引用.
@与 *同义,但是每个参数都是一个独立的”“引用字串,这就意味着参数被完整地传递,
并没有被解释和扩展.这也意味着,每个参数列表中的每个参数都被当成一个独立的单词.
注意:” @”必须被”“引用其他的特殊参数 -
传递给脚本的falg(使用set 命令).参考Example 11-15.
注意:这起初是ksh 的特征,后来被引进到Bash 中,但不幸的是,在Bash 中它看上去也不
能可靠的工作.使用它的一个可能的方法就是让这个脚本进行自我测试(查看是否是交
互的).
!在后台运行的最后的工作的PID(进程ID). _
保存之前执行的命令的最后一个参数.
?命令,函数或者脚本本身的退出状态(见Example23−7)用于检查上一个命令,函数或者脚本执行是否正确。(在Linux中,命令退出状态为0表示该命令正确执行,任何非0值表示命令出错。) 脚本自身的进程ID.这个变量经常用来构造一个"unique"的临时文件名.(参考ExampleA−13,Example29−6,Example12−28和Example11−25).这通常比调用mktemp来得简单.注意事项:[1]当前运行的脚本的PID为 .[2]“argument”和”parameter”这两个单词经常不加区分的使用.在这整本书中,这两个单词的意思完全相同.(在翻译的时候就未加区分,统统翻译成参数)退出和返回退出状态(exitstatus)函数返回一个被称为退出状态的值.退出状态可以由return来指定statement,否则函数的退出状态是函数最后一个执行命令的退出状态(0表示成功,非0表示出错代码).退出状态(exitstatus)可以在脚本中由 ? 引用. 这个机制使脚本函数也可以像C 函数一样有一个”
返回值”.
return
终止一个函数.return 命令[1]可选地带一个整数参数,这个整数作为函数的”返回值”返回
给调用此函数的脚本,并且这个值也被赋给变量$?.