AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-677369

user1169587's questions

Martin Hope
user1169587
Asked: 2025-02-20 12:09:38 +0800 CST

命令替换和变量前的美元符号

  • 5

我有一个名为的文件,fileWithOneCommand.txt仅用以下命令命名,如下所示

ps -aux|head -n 5

然后我编写了一个名为'test5.sh'的测试shell脚本,内容如下:

file=/home/somepath/fileWithOneCommand.txt
$file;
echo see;
cat $file;
echo see2;
$(cat $file);
echo see3;

但我无法理解结果,结果如下:

$ ./test5.sh
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.1 168584 10308 ?        Ss   Feb19   0:49 /sbin/init splash
root           2  0.0  0.0      0     0 ?        S    Feb19   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        S    Feb19   0:00 [pool_workqueue_release]
root           4  0.0  0.0      0     0 ?        I<   Feb19   0:00 [kworker/R-rcu_g]
see
ps -aux|head -n 5
see2
error: user name does not exist

Usage:
 ps [options]

 Try 'ps --help <simple|list|output|threads|misc|all>'
  or 'ps --help <s|l|o|t|m|a>'
 for additional help text.

For more details see ps(1).
see3
  1. $file应该显示变量文件的内容,所以应该输出,
    ps -aux|head -n 5
    但为什么输出的是ps -aux|head -n 5的执行结果,而不是只显示ps -aux|head -n 5?

  2. cat $file; 返回 ps -aux|head -n 5,但是为什么

$(cat $file);

返回错误“错误:用户名不存在”?

当我在谷歌上搜索命令替换时,它说“命令的输出替换了命令本身。 Shell 通过执行命令然后用命令的标准输出替换命令替换来操作扩展。”

所以对于

$(cat $file);

括号里面,cat $file 返回 ps -aux|head -n 5 那么为什么$(cat $file);不返回 ps -aux|head -n 5 的执行结果,而是返回错误“error:用户名不存在”呢?

command-substitution
  • 1 个回答
  • 56 Views
Martin Hope
user1169587
Asked: 2024-11-21 13:10:35 +0800 CST

如何使 sftp 登录到特定目录

  • 5
  1. 我按照https://www.cybrosys.com/blog/how-to-setup-sftp-server-on-ubuntu-20-04中的教程进行操作。

并且我可以成功登录 sftp,但登录后,默认文件夹是“/”,并且无法在“/”下创建文件夹。我想要的是当用户登录 sftp 时,默认文件夹是用户主目录,例如“/home/sftp_user”,并且可以在“/home/sftp_user”下创建文件夹

/etc/ssh/sshd_config 如下:

Subsystem       sftp    internal-sftp

Match group sftp
ChrootDirectory /home
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

/home目录下的访问权限如下:

drwxr-xr-x  4 root      root 4096 Nov 19 17:59 .
drwxr-xr-x 20 root      root 4096 Oct 30  2023 ..
drwxr-x--- 35 abc       abc  4096 Nov 20 18:28 abc
drwxrwxrwx  8 sftp_user sftp 4096 Nov 20 18:32 sftp_user

如果我将 ChrootDirectory /home 更改为 %h,那么当登录 sftp [email protected]

它返回“client_loop: send disconnect: Broken pipe”。我在 google 上搜索,发现 ChrootDirectory 必须由 root 拥有,并且其他人无法写入,但如果其他人无法写入,那么我如何在 ChrootDirectory 下创建目录?

  1. 在教程https://www.cybrosys.com/blog/how-to-setup-sftp-server-on-ubuntu-20-04中,
    子系统是

    Subsystem sftp /usr/lib/openssh/sftp-server

但我看过很多其他教程,子系统是

Subsystem       sftp    internal-sftp

我应该用什么?

sftp
  • 2 个回答
  • 24 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve