Questions tagged «shell»

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

4
BASH历史记录在每次登录时被截断为500行
由于某种原因,我无法让系统在重启后保留BASH历史记录。这是我的相关部分~/.bashrc: shopt -s histappend PROMPT_COMMAND='history -a; updateWindowTitle' export HISTCONTROL=ignoredups export HISTSIZE=9999 export HISTFILESIZE=999999 export HISTFILE="$HOME/.bash_history" 据我所知,所有这些都是必要的选项(我知道我曾经能够在多次重新启动后保留历史记录,而过去却没有所有这些选项)。但是,尽管之前已在几次重新引导中添加了这些选项,但在重新引导后,我仍然失去了大部分历史记录。它不是空的,但是没有重新启动前的9999行。 在有人抱怨之前,是的,我已经阅读了这些问题。我已经执行了上面列出的一些建议,其余建议没有帮助或不相关: 使用histappend时Bash历史记录丢失 如何防止Bash更改历史记录? 什么决定了bash history命令中显示的内容? 如何在各个会话之间保留bash历史记录? 定期保存bash历史记录 如果那里可能还有其他相关命令,您可以~/.bashrc 在此处查看我的全部内容。 那么,我想念什么?为什么我的历史记录没有保存?如果有人认为其他文件可能相关,请告诉我,我将其发布。我通过运行grep -i hist \.*进行检查,$HOME该结果显示唯一相关的.文件包含字符串hist或HIST为.bashrc。 我正在运行Linux Mint Debian Edition,GNU bash,版本4.2.36(1)-发行版(x86_64-pc-linux-gnu),而我最喜欢的终端模拟器是(如果相关)terminator。 更新: 遵循@mpy在评论中的建议,我~/.bashrc将set 改为HISTFILE=~/bash_history默认值~/.bash_history,这似乎解决了交互式shell的问题。登录外壳仍然显示相同的行为,历史记录在行处被截断500。但是,HIST在相关文件中没有设置相关变量: $ for f in /etc/profile ~/.profile ~/.bash_profile ~/.bash_login; do \ echo -ne "$f …



8
别名rm命令并使其更安全的最佳实践
前段时间我错误地删除了我的主文件夹,因为我rm -rf *在错误的终端上运行了一个,其工作目录是主文件夹! 我希望我有一个rm命令的别名,但事实并非如此。 现在,我打算将脚本作为别名rm。 你有什么最好的建议吗? 谢谢。
21 bash  shell  unix  script  rm 

9
在XP上以管理员权限打开Explorer Shell(已安装IE7)
此问题是从Stack Overflow 迁移而来的,因为可以在Super User上回答。 迁移 8年前。 我曾经降级我的用户帐户,使其没有管理员权限,并使用了一个类似“ sudo”的技巧,在其中创建了IE6的快捷方式并启用了“使用其他凭据运行”选项以本地管理员身份打开Shell窗口。可以安装和卸载东西,等等。 当我升级到IE7时,它停止工作-IE7分别启动Windows资源管理器。 我尝试使用不同的凭据运行Windows资源管理器,但这不起作用。 有谁知道如何重新启用此行为,这样我就不必每天都以管理员权限运行计算机?

1
Linux上的HOSTNAME环境变量
在我的Linux机器上(具体来说是Gentoo Linux 2.6.31),我注意到HOSTNAME环境变量在我的Shell中可用,但在脚本中不可用。例如, $ echo $HOSTNAME 退货 xxxxxxxx.com, 但 $ ruby -e 'puts ENV["HOSTNAME"]' 退货 nil 另一方面,例如,USER环境变量在外壳程序和脚本中均可用。 我注意到USER出现在我键入时出现的环境变量列表中 export 即 declare -x USER="infogrind" 但HOSTNAME却没有。我怀疑这个问题与此有关。 我的问题:1)如何使HOSTNAME在脚本中可用,以及2)为了更好地理解,此变量最初设置在哪里,为什么不“导出”?


3
重定向后,为什么clang会生成难以理解的文本?
我正在尝试将命令的输出保存到文件中。该命令是: clang -Xclang -ast-dump -fsyntax-only main.cpp > output.txt 但是,打开后得到的output.txt文件(由ubuntu上的gedit和jedit)给了我这个: [0;1;32mTranslationUnitDecl[0m[0;33m 0x4192020[0m <[0;33m<invalid sloc>[0m> [0;33m<invalid sloc>[0m [0;34m|-[0m[0;1;32mTypedefDecl[0m[0;33m 0x4192558[0m <[0;33m<invalid sloc>[0m> [0;33m<invalid sloc>[0m implicit[0;1;36m __int128_t[0m [0;32m'__int128'[0m [0;34m| `-[0m[0;32mBuiltinType[0m[0;33m 0x4192270[0m [0;32m'__int128'[0m [0;34m|-[0m[0;1;32mTypedefDecl[0m[0;33m 0x41925b8[0m <[0;33m<invalid sloc>[0m> [0;33m<invalid sloc>[0m implicit[0;1;36m __uint128_t[0m [0;32m'unsigned __int128'[0m [0;34m| `-[0m[0;32mBuiltinType[0m[0;33m 0x4192290[0m [0;32m'unsigned __int128'[0m ... 何时真正看起来像这样: TranslationUnitDecl 0x4e46020 <<invalid sloc>> <invalid …
20 linux  shell  clang 

6
rm -rf *会删除当前目录中的所有文件/文件夹吗?
是否会rm -rf *删除当前目录中的所有文件/文件夹?我想确保通配符*不会在上层目录中向上移动并擦除我的所有文件系统。:D 我记得chmod 777 .* -R对chmod隐藏文件进行过操作,它chmod消耗了我所有的文件系统。显然,我是root用户。
20 shell  globbing 




3
如何从鱼的$ PATH变量中删除路径?
我在Debian中将fish用作shell,最近(在进行一些升级之后)每当尝试使用命令完成时,我都有: set: No such file or directory set: Could not add component /usr/lib/x86_64-linux-gnu/libfm to PATH. set: No such file or directory 运行此: echo $PATH 给我这个: /usr/lib/x86_64-linux-gnu/libfm /usr/local/bin /usr/bin /bin /usr/local/games /usr/games 在我的系统中没有/usr/lib/x86_64-linux-gnu/libfm,因此我了解了fish为何抱怨,但是我找不到如何从$PATH变量中删除此路径的方法。 有人知道我该怎么做吗?

4
如何在Mac OS中使用命令行更改代理设置?
我使用的是Mac OS,有时需要使用代理来完成一些工作,因此我需要经常更改代理设置。但是在“系统偏好设置”中更改代理设置非常麻烦。 有没有一种方法可以使用命令行更改代理设置?使用Shell命令或某些工具?
20 mac  shell  proxy 


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.