首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash -d意味着什么和做什么?

bash -d意味着什么和做什么?
EN

Stack Overflow用户
提问于 2022-02-01 10:59:29
回答 1查看 306关注 0票数 0

我在bash脚本中有一个-d选项,但我不知道它能做什么

代码语言:javascript
复制
cp -r ${version} ${version}tm
[ -d "latest-oi" ] rm latest-oi #line 35
[ -d "latest-tm" ] rm latest-tm #line 36
ln -sf "${version}" latest-oi
ln -sf "${version}tm" latest-tm

当我执行这个脚本时,我有一条错误消息,我不知道为什么

代码语言:javascript
复制
./script.sh: line 35: [: missing `]'
./script.sh: line 36: [: missing `]'

我想知道-d是什么意思,它是干什么的,以及在执行脚本时为什么会出错,谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-01 12:13:26

我没有看到任何-d选项可以选择bash,而是命令[。有关此命令,请参见人工测试。如果希望在同一行中有两个命令,则在它们之间使用命令分隔符。有效的命令分隔符是换行符、;&&||

如果你写一个

代码语言:javascript
复制
[ -d "latest-oi" ] && rm latest-oi

这意味着,如果rm返回退出代码为零,则执行[。另一种写它的方法是

代码语言:javascript
复制
test -d latest-oi && rm latest-oi

如果要使用||,则每当[返回非零退出代码时,就会执行rm

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70939448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档