Linux Shell 认识与学习(3)

关于减号是不会影响旧变量的,如果想要旧变量内容也一起替换掉的话,就需要使用等号=:
[linuxidc@ubuntu ~/Desktop/linux_study 13:20 #107]$unset str; var=${str=newvar}
[linuxidc@ubuntu ~/Desktop/linux_study 13:25 #108]$echo var="$var",str="$str"
var=newvar,str=newvar
[linuxidc@ubuntu ~/Desktop/linux_study 13:25 #111]$str="oldvar";var=${str=newvar}
[linuxidc@ubuntu ~/Desktop/linux_study 13:25 #112]$echo var="$var",str="$str"
var=oldvar,str=oldvar

命令别名和历史命令

命令别名设置alias和unalias

命令别名可以使常用的但是特别长的���令修改成比较简洁的命令,还有增设默认的选项在一些惯用的命令上面,可以预防一些不小心误删文件的情况发生。例如,查询隐藏文件,并且需要长的列出与一页一页翻看,那么需要执行“ls -l | more”,可以使用以下命令将其简化为lm:
[linuxidc@ubuntu ~ 13:35 #120]$alias lm="ls -l | more"

另外,命名别名的设置还可以替代既有的命令,例如,当以root登录,使用rm命令可以删除所有文件,因此要特别小心,rm提供一个参数让我们确认是否删除该文件-i:
[linuxidc@ubuntu ~ 13:35 #123]$alias rm="rm -i"
[linuxidc@ubuntu ~/Desktop/linux_study 13:39 #127]$rm 123
rm: remove write-protected regular empty file ‘123’? y

去掉刚才的命名别名:
[linuxidc@ubuntu ~/Desktop/linux_study 13:39 #128]$unalias rm

历史命令 history

查询曾经执行过的命令,最近4条:
[linuxidc@ubuntu ~/Desktop/linux_study 13:42 #131]$history 4

Bash Shell的操作环境

路径与命令查找顺序

设置echo的别名为echo-n,然后再查看echo执行的顺序:
[linuxidc@ubuntu ~/Desktop/linux_study 13:45 #132]$alias echo="echo -n"
[linuxidc@ubuntu ~/Desktop/linux_study 13:47 #134]$type -a echo
echo is aliased to `echo -n'
echo is a shell builtin
echo is /bin/echo

bash的登录与欢迎信息:/etc/issue,/etc/motd

终端环境设置:stty.set

如何查阅目前的一些按键内容呢?可以利用stty(setting tty终端机),stty可以帮助设置终端机的输入按钮代表意义。我们可以利用stty-a来列出目前环境中的所有按键列表。
linuxidc@ubuntu:~$ stty -a
speed 38400 baud; rows 37; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

如果想要stty进行相关的字符删除:
linuxidc@ubuntu:~$ stty erase ^h

除了stty之外,其实我们bash还有自己的一些终端机设置值set。

Linux Shell脚本 多线程 

Linux Shell在while中用read从键盘输入 

Linux Shell 程序调试 

Linux Shell脚本面试25问 

Linux/Unix Shell 参数传递到SQL脚本

Shell脚本中参数传递方法介绍

Shell脚本传递命令行参数

Linux Shell 通配符、转义字符、元字符、特殊字符  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/15794.html