gpt4 book ai didi

linux - 如果单独运行每个命令,为什么我的 shell 脚本会显示不同的输出?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:53:36 24 4
gpt4 key购买 nike

我有以下shell脚本

#!/bin/sh
keyExists=`stat ~/.ssh/id_rsa &> /dev/null; echo $?`
echo $keyExists

当我以 ./test.shsh test.sh 运行它时,它输出

0 File: `/home/vagrant/.ssh/id_rsa' Size: 0 Blocks: 0 IO Block: 4096 regular empty file Device: fc00h/64512d Inode: 2888560 Links: 1 Access: (0664/-rw-rw-r--) Uid: ( 1000/ vagrant) Gid: ( 1000/ vagrant) Access: 2014-07-23 11:40:33.355848310 -0400 Modify: 2014-07-23 11:40:33.355848310 -0400 Change: 2014-07-23 11:40:33.355848310 -0400 Birth: -

但是当我在命令行上单独运行每个命令时

keyExists=`stat ~/.ssh/id_rsa &> /dev/null; echo $?`
echo $keyExists

我得到输出

0

为什么我会看到这个额外的输出以及如何在运行 shell 脚本时抑制这个额外的输出?

最佳答案

在测试之前,请确保您当前的 shell 是 /bin/sh,而不是 /bin/bash

据我所知:&>bash 中的一个新特性,而不是旧的 sh

关于linux - 如果单独运行每个命令,为什么我的 shell 脚本会显示不同的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24915520/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com