One of annoying things about Linux shell is the strange shell syntax.
Bash brace expansion
==================
The following code cp menu.lst tom menu.lst.bak:
cp /boot/grub/menu.lst{,.bak}
/boot/grub/menu.lst{,.bak} will be expanded to the orignal pathname and a new pathname suffixed with .bak. Run "echo /boot/grub/menu.lst{,.bak}" to see the effect.
For a detailed explanation, refer to
http://www.gnu.org/software/bash/manual/bashref.html#Brace-Expansion.
Tilde Expansion
=============
The following code sets HADOOP_CONF_DIR to $HADOOP_HOME/conf if HADOOP_CONF_DIR has not been set.
HADOOP_CONF_DIR="${HADOOP_CONF_DIR:-$HADOOP_HOME/conf}"
It is the ${parameter:−word} pattern.
The following code uses ${parameter#word} and ${parameter%word} patterns.
#!/bin/bash
for i in $(cut -f 1,3 -d: /etc/passwd) ; do
echo "${i#*:}" "=" "${i%:*}"
done
Refer to
http://www.gnu.org/software/bash/manual/bashref.html#Shell-Parameter-Expansion
Arrays
======
array=(one two three four)
for i in "${array[@]}"; do
echo $i
done
echo "${array[*]}"
echo "${array[@]}"
echo "${array[0]}"
echo "${#array[0]}"
echo "${#array[@]}"
分享到:
相关推荐
6. **Shell** 和 **Shell Expansion**: Shell是Linux中的命令解释器,如Bash,它扩展用户输入的命令,解析通配符和别名等。 7. **Documentation** 和 **Redirection**: 文档是理解软件和系统的必备资料,重定向允许...
• Shell expansion • Commands and arguments • Control operators • Shell variables • Shell embedding and options • File globbing Book 3 - XML Programming The Ultimate Guide to Fast, Easy, ...
- **性能优化**:避免不必要的命令执行,合理使用Shell特性如brace expansion、command substitution等提高效率。 6. **案例分析与实战** - **系统管理脚本**:例如自动备份、日志分析、定时任务等。 - **数据...
* Parameter Expansion 是一种 Shell 脚本编程技术。 * Positional Parameters 是一种 Shell 脚本编程技术。 推荐阅读 * 《Unix/Linux Shell 编程》 * 《网络协议基础》 * 《Shell 脚本编程技术》
12. **扩展 (EXPANSION)**:讲解Shell如何扩展命令行输入,包括变量替换、通配符匹配、命令替换等。 12.7 **Word Splitting**:在命令执行前,Shell会将一个单词(如变量值)分割成多个单独的参数,这是基于内部...
10. **Shell扩展和脚本优化**:了解Shell的扩展功能,如brace expansion(花括号扩展)、command substitution(命令替换)和process substitution(进程替换),可以帮助写出更简洁、高效的脚本。 学习《Sams Unix...
10. **Shell扩展**:Bash提供了许多高级特性,如数组、关联数组、命令替换、过程 substitution、brace expansion等,使得Shell编程更加强大和灵活。 通过阅读"Linux Shell编程手册",初学者不仅能掌握Shell的基础...
13. **Shell扩展**:包括bash特有的特性,如 brace expansion、process substitution、here documents 和 here strings 等。 14. **Shell脚本最佳实践**:编写清晰、可读性强、易于维护的脚本,遵循良好的编程风格...
4. **Shell扩展**:探索Bash的特性,如brace expansion(花括号扩展)、history substitution(历史替换)等。 通过学习这个Linux Unix Shell教程,你将能够编写高效的Shell脚本,解决日常的系统管理和自动化任务。...
10. **Shell扩展**:学习一些高级特性,如 Brace Expansion(花括号扩展)、Process Substitution 和 Command Substitution 等。 在"lab9"文件中,你将找到完成这个实验的具体步骤和示例代码。通过逐步实践和理解...
8. **Shell扩展与高级特性**:探讨Bash等现代Shell的高级特性,如 Brace Expansion、Process Substitution、Aliases、Functions、History Expansion 和 Shell选项。 9. **脚本实例**:书中很可能包含大量实用的脚本...
9. **Shell扩展**:探讨Bash和其他高级Shell提供的特性,如数组、关联数组、 Brace expansion、Process Substitution等。 10. **Shell脚本调试**:学习如何跟踪和调试Shell脚本中的错误,以提高代码质量。 11. **...
14. **Shell扩展**:如 brace expansion(花括号扩展)、history(历史命令)、tab补全等功能。 这些实例将帮助你逐步掌握Shell编程,并在实际工作中提升效率。每个例子通常都会包含一个脚本、其功能解释以及执行...
最后,可能会探讨一些高级话题,如Shell的数组、函数返回值、子shell以及shell扩展功能,如brace expansion、globbing和alias。 通过“LINUX SHELL脚本攻略(中文版)”的学习,你不仅可以掌握Shell脚本的基本语法...
3. ** brace expansion **:`{a..z}`扩展为从a到z的所有字符,用于批量创建文件或目录。 4. **反引号转义**:`\`用于转义特殊字符,如`\n`表示换行,`\$`表示美元符号。 5. **过程子化**:`(commands)`创建子shell...
4. shell扩展:如brace expansion({}展开)和history substitution。 通过学习和实践这些知识,你可以编写出高效、灵活的Shell脚本,解决日常工作中各种自动化需求。理解并掌握Shell脚本,不仅提升工作效率,也是...
在这个例子中,`{1..9}`是Shell的brace expansion,用于生成1到9的序列,`./job_$i.sh &`则会启动每个任务并在后台运行。 多线程的管理还包括等待所有任务完成,这可以使用`wait`命令来实现。`wait`会阻塞当前进程...
**Shell教程** 在Linux操作系统中,Bash Shell(Bourne-Again SHell)是一种广泛使用的命令行解释器,它提供了与系统交互的基本接口。Shell不仅用于执行单一的命令,还可以编写脚本,实现自动化任务处理。这篇教程...
`)、brace expansion({}扩展)、词分割、历史替换(`!`)等。 - **重定向和管道**:`>`用于输出重定向,`>>`用于追加重定向,`用于输入重定向,`|`用于管道,可以将一个命令的输出作为另一个命令的输入。 **3. ...