Questions tagged «shell»

Shell是一种软件,它使用户通常可以通过在命令行中键入来与操作系统进行交互。

4
如何在不实际解压缩的情况下获得gzip文件的未压缩大小?
请找到我的操作系统详细信息: $ uname -a AIX xxyy 1 6 000145364C00 我尝试了以下命令来获取gzip存档中文件的大小: $ gzip -l mycontent.DAT.Gz compressed uncompr. ratio uncompressed_name -1223644243 1751372002 -75.3% mycontent.DAT.Gz 不确定如何从中解压缩大小。压缩文件大小接近4 GB。 因此,我尝试了此选项以捕获正确的数据: $ zcat mycontent.DAT.Gz | wc -c 它给了我这个错误: mycontent.DAT.Gz.Z:A file or directory in the path name does not exist. 0 您能告诉我如何在不解压缩源文件的情况下从shell脚本中捕获此值吗?
25 unix  shell  gzip  gz 

2
/ etc / environment和/ etc / profile之间有什么区别?
我理解前者是在后者之前加载的,但概念差异是什么?有没有什么好的理由我应该在一个变量中设置一些变量而不在其他变量中?除了/etc/environment为系统运行的所有进程设置环境似乎存在的事实,同时/etc/profile用于设置从登录shell使用和传播的环境,是否正确? 另外,在附注中,传统上读取哪个程序/etc/environment?它与POSIX有关,还是只是一个约定?


2
为什么我有/如何解决此错误:“ shell_session_update:找不到命令”
背景 我正在使用OS X El Capitan(10.11.3)在MacBook上使用Fish Shell并在此页面上列出的集成中使用Ruby 2.x和Rails 4.x:RVM-Fish Shell(集成) 问题 当执行各种命令如rvm version,rvm install ...,rvm use ...,rvm --default ...等,收到以下错误消息: /var/folders/2w/zhgybz7d25s1gdy41qdxwp48001gfh/T/rvm.fish.Pqd0CuZRJW: shell_session_update: command not found 与其他许多开发设置问题一样,Google快速搜索不会返回任何有助于我识别和/或解决问题的相关结果。 我在rvm.fish功能文件,.config/fish目录下以及$HOME/.rvm/bin/rvm主可执行文件中进行了快速文本搜索,但没有看到诸如shell_session_update直接在该文件中调用的命令。 题 有谁知道为什么会这样,我该如何解决?我是一个喜欢将东西固定在我眼前的人,因此只有我需要采取行动的东西才会出现在我眼前,因此我想删除此错误/警告消息。:) PS我尝试安装和使用的特定Ruby版本(2.0.0)似乎可以正常运行,即使在同一终端(iTerm(2))会话中,也无需重新启动它。从那以后,我已经关闭了那个并创建了一个新的终端会话,并且在运行上述各种命令时仍然看到该消息。
24 macos  shell  rvm  fish 


8
动态地将本地shell别名加载到ssh会话
此问题是从Stack Overflow 迁移而来的,因为可以在Super User上回答。 迁移 7年前。 当我使用ssh登录到某些计算机时,希望我的别名和功能在那里。换句话说,登录到我希望可以使用命令快捷方式的计算机。 我需要动态的,每次登录时都希望更新别名。 注意:很多时候是第一次登录,却不知道那里的机器和文件。有时它是单次登录。该机器只需一次登录。之后需要清除它,以前的配置也必须还原。
24 linux  bash  shell  login  ssh 

2
BASH的$ PROMPT_COMMAND的ZSH等价于什么?
BASH支持$PROMPT_COMMAND环境变量,该变量定义在任何第一级交互式提示之前要执行的命令。我正在寻找与之等效的ZSH。 文档说,有一个precmd我可以定义的功能可以实现。但是,我不知道如何从环境变量中定义它。 我曾经考虑过传递一个环境变量,该变量将使ZSH读取包含该函数定义的文件,但是ZSH 似乎不支持这种情况:它仅读取全局文件,然后读取每个用户的文件。我可以替换它们,但不能在不修改文件的情况下添加它们,这是我不能做的。 那么,如何像我$PROMPT_COMMAND在BASH中使用的那样,通过环境变量在ZSH中定义预提示挂钩?

5
获取文件的父目录
我只想获取文件的父目录的名称。 示例:当我有时path=/a/b/c/d/file,我只希望d而不是/a/b/c/d(从中得到dirname $path)作为输出。 有什么复杂的方法可以做到这一点吗?
24 linux  bash  shell 


1
为什么我们有登录,非登录,交互式和非交互式bash shell?
因此,bash手册页解释了什么是登录和交互式shell: 登录外壳是一个参数为零的第一个字符为-的外壳程序,或以--login选项开头的外壳程序。 交互式外壳程序是一个不带非选项参数且不带-c选项(其标准输入和错误均连接到终端(由isatty(3)确定))启动的外壳程序,或一个以-i选项启动的外壳程序。如果bash是交互式的,则设置PS1并且$-包括i,从而允许shell脚本或启动文件测试此状态。 我认为这意味着我们可以有4种不同类型的Shell: 交互式登录外壳, 非交互式登录外壳, 交互式非登录外壳, 非交互式非登录外壳 但是为什么我们首先要有交互式/非交互式和登录/非登录shell?为什么是品种?如果只有一种外壳,我们会损失什么? 另外,当尝试通过运行来确定我是否在登录外壳程序中时echo $-,它也会输出: himBH 关于这些标志的解释这里,但是h,H和m没有解释。是否有描述所有这些标志的地方?


3
随机密码生成器:在Linux中的命令行中有很多(按列)
不久前,我遇到了一个用于命令行的随机密码生成器,该生成器显示了“难忘”密码网格。输出是这样的: adam@host:~$ CantRememberThisCommand lkajsdf aksjdfl kqwrupo qwerpoi qwerklw zxlkelq 这样的想法是,您可以在有人看着您的肩膀上运行此实用程序,并且由于选择众多,因此仍然可以选择具有一定保密性的密码。 我不记得这个工具叫什么。哦,互联网,您能帮忙吗?
22 unix  passwords  shell  passwd 

3
使用GNU屏幕作为登录“外壳”
当您打开新的shell(通过登录,xterm或其他方式)时,自动运行屏幕的最佳方法是什么? 我看到最常见的建议是将exec screen您的常规shell的rc或login / profile文件放入其中,但是对于例如tcsh,login shell最后运行.login,而非login shell最后读取.cshrc。如果输入exec screen.cshrc,则登录shell将不会提供.login文件;如果输入.login,则非登录shell将不会运行。我假设其他shell也有类似的问题。
22 unix  shell  login  gnu-screen 

3
如何在Windows CMD行中设置ENV变量
我想在Windows CMD行中设置一个临时环境变量,用我的话说就是Windows Shell。因为它是临时使用的,所以我不想通过单击“我的电脑->属性---”来添加新的环境变量系统。 顺便说一句,我想设置的envrioment变量是http代理,但是我不知道Windows的语法。所以,如果您碰巧也了解它,请告诉我,我会更加感谢您...
22 windows  shell 

7
使用sudo更改目录
如何更改为root拥有的目录? 如果我做: sudo cd RootOwedDir 我得到: sudo cd: command not found 如果我 su root 我得到:authentication failure,可能是因为我从未真正设置过实际的root帐户。 我在这里做错了什么?
22 linux  ubuntu  shell 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.