如何无需重复输入目录名创建同名后缀文件?(Shell技巧)
解决方法
1. 用变量简化重复输入
定义变量存储目录名,避免重复敲写:
dir=Navigation && touch $dir/$dir.jsx
如果需要同时创建目录(假设目录还不存在)和文件,可改成:
dir=Navigation && mkdir -p $dir && touch $dir/$dir.jsx
2. 正确使用括号展开
你之前的写法错误,正确的括号展开方式是将目录和文件名的重复部分合理拆分:
touch {Navigation/}Navigation.jsx
如果要批量创建同结构的组件文件(前提是目标目录已存在),还可以这样扩展:
touch {Navigation,Home,Profile}/{Navigation,Home,Profile}.jsx
这条命令会同时在Navigation、Home、Profile三个目录下,分别创建对应名称的.jsx文件。
3. 自定义Shell函数(长期高效方案)
如果频繁需要这类操作,可在你的Shell配置文件(如~/.bashrc或~/.zshrc)中添加自定义函数:
create_component() { mkdir -p "$1" && touch "$1/$1.jsx" }
保存后执行source ~/.bashrc(对应你的配置文件)生效,之后只需输入:
create_component Navigation
就能自动创建Navigation目录(不存在则创建)和内部的Navigation.jsx文件,完全无需重复输入名称。
更合理的文件夹与文件创建流程
- 按组件维度规划结构:React项目中建议每个组件单独占一个目录,配套存放样式、测试等文件,比如:
src/ components/ Navigation/ Navigation.jsx Navigation.css Navigation.test.jsx - 借助脚手架与编辑器插件:用
create-react-app或Vite初始化项目,它们自带规范结构;编辑器安装如ES7 React/Redux snippets这类插件,可快速生成组件文件和模板代码,比手动敲命令高效得多。 - 批量创建脚本:如果需要生成大量同结构组件,可写简单的Bash脚本,遍历组件名列表自动完成目录和文件的创建。
内容的提问来源于stack exchange,提问作者Xolkardus
相关产品推荐
相关产品推荐

