bash - 在脚本 bash 中更改目录
问题描述
我想找到一个文件并转到他的目录。我制作了一个 bash 脚本:
#!/bin/bash
FILE=$1
FILEPATH=`find . -name "$FILE"`
if [ -f "$FILEPATH" ]
then
cd $(dirname "$FILEPATH")
fi
但是这个脚本不起作用。我在这篇文章中看到我必须添加exec bash
,或者$SHELL
它会创建一个新的 bash 提示符并显示我的欢迎消息。
我能怎么做 ?我只想要一个脚本、别名或其他东西来查找文件并转到包含该文件的目录。
解决方案
获取您的脚本,而不是像您一样运行它。当你像你一样运行它时,你会产生一个新的 shell,它会cd
执行pwd
.
使用source myscript.sh
or. myscript.sh
代替bash myscript.sh
or myscript.sh
。
推荐阅读
- javascript - 将 NuxtJS 用于 Zoho CRM 小部件
- java - MIUI无声推送通知
- linux - Vulkan 验证层无法在 Linux 上加载/工作
- json - JSON to Google sheet --> Strange Columns + 一个单元格中的所有内容
- python - 当 lxml etree.ElementTree 是字符串时,为什么 XML 仅针对 XSD 进行验证?
- apache-camel - 对骆驼聚合拆分的最后一个索引执行操作
- php - ::class 方法的使用
- javascript - 为什么我收到错误“firebase.database 不是函数”?
- python - 从不同的字典和键/值集创建多级字典 - python
- python-3.x - 不使用 split() 方法重新排列 String(sentence) 的位置