Articles of shell

您可以在诺基亚N810上使用多less美元TERM值,以便Vim的密钥映射能够正常工作?

我通过ssh连接到诺基亚N810互联网平板电脑。 默认的$TERM值是'xterm' ,这会导致Vim中各种键绑定的混乱。 具体来说,箭头键和Home / End键在不处于编辑模式时打印字符或更改大小写。 有没有人知道一个理智的$TERM值来解决这个问题,或者其他解决scheme?

使用CGI中的unix'mail'命令 – 危险?

我正在给网页添加一个反馈表单,想知道通过“mail”命令简单地过滤TEXTAREA元素的内容(解码后)是否安全,以便向页面的维护者发送电子邮件。 我已经看了手册页,不能看到一种方式来滥用这个,特别是只要“邮件”不以交互模式运行,波浪转义被禁用,“。 一条线本身不会终止消息体。 但是我还有其他的危险吗? 该命令如下所示: echo "$MESSAGE_BODY" | mail [email protected] -s 'Website feedback'

Powershell – 如何启动Explorer.exe与path\\服务器\ c $(不同的凭据)

上下文:Powershell作为域pipe理员启动。 在这个Powershell窗口中,是否有可能在Explorer.exe中打开c $远程框(\ server \ c $)而不要求input凭证(使用当前的凭证)? 谢谢

如何在其他独立的terminal窗口中显示shell的内容?

一个用户正在使用ssh shell。 Root想要监视用户在root的terminal窗口上的操作。 我正在考虑连接到屏幕两次。 input和输出是必需的。 猫.bash_history是不够的。

重复的Linux文件用户,组和权限属性

如何将命令行中的文件B的所有文件属性复制到文件A中? (A和B是不同的) 例如:用户用户666,B根目录770 结果 – >根根770 谢谢

在运行shell脚本时,如何防止覆盖或截断文件?

如果应用程序正在运行其使用的共享库之一被写入或截断,则应用程序将崩溃。 移动文件或使用'rm'批量删除文件不会导致崩溃,因为操作系统(Solaris在这种情况下,但我认为这在Linux和其他* nix上也是如此)足够聪明,不会删除与该文件,而任何进程打开。 我有一个执行共享库安装的shell脚本。 有时,可能会用它来重新安装已经安装的共享库的版本,而无需首先卸载。 因为应用程序可能正在使用已经安装的共享库,所以重要的是脚本足够聪明,可以将文件打包或移动(例如,当我们知道没有应用程序时,cron可以清空的“已删除”文件夹将会运行),然后再安装新的程序,以免被覆盖或截断。 不幸的是,最近一个应用程序在安装后崩溃。 巧合? 很难说。 这里真正的解决scheme是切换到一个更老的安装方法,而不是一个旧的巨大的shell脚本,但它会很高兴有一些额外的保护,直到开关制成。 有没有什么方法来包装一个shell脚本,以防止覆盖或截断文件(理想情况下大声失败),但仍然允许他们移动或rm'd? 标准的UNIX文件权限不会执行这个技巧,因为你无法区分移动/删除和覆盖/截断。 别名可以工作,但我不知道什么样的命令需要别名。 我想像truss / strace之类的东西,除非在每个动作之前检查filter是否真正做到这一点。 我不需要一个完美的解决scheme,甚至可以对付有意识的恶意脚本。 我到目前为止的想法是: 别名cp到GNU cp(因为我在Solaris上不是默认的)并使用–remove-destination选项。 别名安装到GNU安装并使用–backup选项。 将现有文件移动到备份文件名称可能非常聪明,而不是复制,从而保留了inode。 在〜/ .bashrc中设置“noclobber”,以便I / Oredirect不会覆盖文件

如何检查/启动stream程| shell脚本错误

如果想检查一个进程是否正在运行,如果不是,则启动它。 我的脚本下面是越野车,总是说一个进程正在运行。 哪里不对? $ ./check_n_run thisisnotrunning ./check_n_run: thisisnotrunning is already running 这是脚本: $ cat check_n_run #!/bin/sh USAGE="usage: $0 processname" if [ $# -ne 1 ] ; then echo "$USAGE" >&2 exit 1 fi ps ax | grep -v grep | grep $1> /dev/null if [ $? -eq 1 ] then echo "$1 not running" # […]

Ubuntu服务器:手动更改/ etc / passwd shell为我的用户,现在无法login

我试图通过直接编辑/ etc / passwd文件将shell从bash更改为tcsh。 是的,愚蠢的举动。 我想我已经吸取了教训。 现在我无法SSH进入远程服务器。 有任何解决这个问题的方法吗? PS。 我仍然可以通过SSH隧道连接到MySQL服务器。 任何方式来使用这个?

重启行为的差异

我有2台机器运行Linux。 在一台机器上,reboot命令是所有Linux发行版中通常可以find的可执行文件。 在第二台机器中,reboot命令是使用一些其他硬件工具命令来定制的shell脚本来重新启动系统。 两台机器之间的一个行为差异是,当我在第一台机器上执行reboot命令时,它显示另一个shell提示符,然后重新启动。 但在第二台机器的情况下,它会重新启动,而不会显示shell提示符。 我希望第二台机器的行为方式与第一台机器的重启命令一样。 目前我正在分析通常在linux发行版中find的shutdown.c和halt.c的源代码,以便我可以find在重新启动时生成shell propmt的实现,并在第二台机器的shell脚本中使用它。 请给我一些指导,我应该从哪里开始寻找实施。 谢谢

我怎样才能复制网站,脚本与从Linux到Linux的默认权限

我遇到过许多问题,至今还没有find解决办法。 我有一个网站运行php joomla与一个Linux的VPS与centos。 现在,当我安装新的扩展,在网站上创build了一些文件和文件夹。 这些文件或文件夹具有Apache或任何权限。 我使用-p标志来制作一个tar球,以便权限保持在那里,但是问题在于原来的Linux中的文件的所有者并不存在于新的Linux中,所以相同的cipts现在不能编辑它自己的设置因为现在的主人是改变了。 我必须手动将每个文件夹的权限更改为777才能使其工作。 我该如何解决这个问题?