关于linux profile 文件中如下代码
来源:互联网 发布:阿里云邮箱中病毒 编辑:程序博客网 时间:2024/05/22 08:01
转: http://kodango.com/explain-shell-default-options
for i in /etc/profile.d/*.sh ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null 2>&1 fi fidone
echo $- 结果为:himBH
$-记录着当前设置的shell选项,himBH是默认值,
你可以通过 set 命令来设置或者取消一个选项配置。例如:set -x
i - interactive
包含这个选项说明当前的 shell 是一个交互式的 shell,何为交互式?你输入命令,
shell 解释执行后给你返回结果,我们在 Terminal 下使用的 shell 就是交互式的,
所以 $- 会包含 i 字符。如果我们在一个脚本里面 echo $-,
结果是不会包含 i 的。
H - history expand
history expand 这个很多人都基本上不用,包括我也是。我们知道 Shell 会把我们执行的命令记录下来,可以通过 history 命令查看,每一行是序号 + 执行的命令。在 shell 退出时,会将这些信息保存到~/.bash_history 文件中,当然在启动时也会从该文件中加载,不信删除这个文件再打开一个终端试试。history expand 就是展开历史列表中的命令,可以通过!感叹号来完成,例如"!!"返回上最近的一个历史命令,"!n"返回第 n 个历史命令,等等.多扯一句,在命令行下,不要在双引号号里面用!,这会让 Shell "误以为" 你要执行历史展开.
B - brace expansion
和备份相关
$ cp /your/path/to/file{,.bak}
m - monitor mode
可以控制进程的停止、继续,后台或者前台执行等。正常情况下,在交互式模式下,
该选项默认是打开的,所以再执行一个比较耗时的命令时,你可以按下CTRL+Z 让它在后台运行,
然后可以用 fg 命令将后台运行的任务恢复到前台执行。
h - hashall
不知
${-#*i} 翻译过来是说,从左往右看,删除掉 $- 变量的值中第一个 i 字符以及之前的内容。
与此相对的,还有${-%i*}的写法,%与#号的意义刚好相反,从右往左看,删除掉 $- 变量的值中
最后一个 i 字符以及之后的内容。
0 0
- 关于linux profile 文件中如下代码
- 关于Linux中的Profile文件
- Linux中profile文件详解
- 关于Linux/Unix的Profile文件
- 关于Linux/Unix的Profile文件
- 关于Linux/Unix的Profile文件
- Linux中环境变量profile文件面面观
- 在asp.net中生成html文件代码如下
- 关于 profile文件
- Linux profile文件解析
- linux常用头文件如下
- Linux中profile
- linux中使/etc/profile文件生效的命令
- linux中/etc/profile 与/etc/environment文件的区别?
- Linux系统中profile文件原理与应用
- Linux系统中profile文件原理与应用
- Linux系统中profile文件原理与应用
- linux中/etc/profile 与/etc/environment文件的区别?
- iOS判断是否是手机号码 - 最新
- Android数据库 之 SQLite数据库
- 常用MySQL图形化管理工具
- 文章标题
- Unity 5 全局光照GI与新的烘焙系统初探
- 关于linux profile 文件中如下代码
- 【洛谷P1052】过河
- 两个单链表生成相加链表II
- Idea使用Maven创建多模块SpringBoot项目问题记录
- see the coastal
- tensorflow 输出权重 到csv或txt
- 深度机器学习中的batch的大小对学习效果有何影响?
- 保持在所有窗口前方的悬浮按钮
- Sublime text3 常用插件