加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何从fish shell中的命令替换输出中捕获换行符?

发布时间:2020-12-15 22:57:53 所属栏目:安全 来源:网络整理
导读:在bash中,通过命令替换保留换行符: $TEST="$(echo 'a b c ')" echo "$TEST"# →abc 但是,当我尝试在fish shell中执行相同操作时,换行符会转换为空格: $set TEST (echo "a b c "); and echo "$TEST"# →a b c 如何使鱼将换行符保存为换行符? 解决方法 从概
在bash中,通过命令替换保留换行符:

$TEST="$(echo 'a
  b
  c
  ')" && echo "$TEST"
# →
a
b
c

但是,当我尝试在fish shell中执行相同操作时,换行符会转换为空格:

$set TEST (echo "a
  b
  c
  "); and echo "$TEST"
# →
a b c

如何使鱼将换行符保存为换行符?

解决方法

从概念上讲,它们不会转换为空格:您正在获取列表!

> echo -e "1n2n3" > foo
> cat foo
1
2
3
> set myFoo (cat foo)
> echo $myFoo
1 2 3
> echo $myFoo[0..2]
1 2

因此我们应用lists的机器;例如,joining with a separator(注意额外的退格以消除不需要的空格):

> echo {b$myFoo}n
1
2
3
 # extra newline here

这不理想; string做得更好:

> string join n $myFoo
1
2
3

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读