标签: csh

如果内置命令,则检入bash和csh

如果内置命令,我如何检查bash和csh?有没有与大多数贝壳兼容的方法?

bash shell csh

15
推荐指数
2
解决办法
5769
查看次数

解释Perl"序言"的狡猾

Perl手册描述了一个完全不同的构造,它可以在任何csh,sh或Perl下工作,如下所示:

eval '(exit $?0)' && eval 'exec perl -wS $0 ${1+"$@"}'
    & eval 'exec /usr/bin/perl -wS $0 $argv:q'
    if $running_under_some_shell;
Run Code Online (Sandbox Code Playgroud)

确实狡猾......有人可以详细解释一下这是如何运作的吗?

shell perl csh

14
推荐指数
2
解决办法
1907
查看次数

bash vs csh vs others - 哪个更适合应用程序维护?

可能重复:
我应该使用什么Linux shell?

我开始熟练掌握Linux环境,并且我试图在命令shell脚本(因为我仍然是一个很大的n00b)方面选择一个可供选择的武器,这将帮助我(和其他人)管理,测试并管理在*NIX环境中运行的一组服务器端应用程序.

我的问题是:当考虑以下标准时,那里的首选命令shell是什么:

  1. 对于从未接触过shell脚本的初级开发者来说,学习/理解有多容易?

  2. 是否有大量开发人员知道这个shell脚本?

  3. 它是否安全且易于使用 - 脚本错误是静音还是提供智能错误输出,它是否会让那些不知情的人在脚下自我射击?

  4. 它有多便携? - 我可以期望在OpenSolaris以及Redhat,FreeBSD中运行相同的脚本吗?(授予特定操作系统的命令语法和选项将相应更改)

  5. 它有多标准?它是否应该包含在*NIX的大多数发行版中,还是必须另外安装?

我知道有些营地对特定的命令炮弹持强烈的感情,我只是在寻找知情的意见.

linux bash csh zsh tcsh

14
推荐指数
3
解决办法
6万
查看次数

MVC 3 Razor @ Html.ValidationMessage不能通过jquery.load()部分加载

我在这里放了一个小例子来复制问题.我有一个强类型的局部视图_Name.cshtml:

@model ValidationInPartial.ViewModels.MyViewModel

<h2>@ViewBag.Message</h2>

    <fieldset>
        <legend>Name</legend>

        <div class="editor-label">
            @Html.LabelFor(model => model.MyName)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.MyName)
            @Html.ValidationMessageFor(model => model.MyName)
        </div>

        <a href="#" id="reload">Reload Name</a>

        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>

<script type="text/javascript">
    $(document).ready(function () {
        $("#reload").click(function () {
            $("#divName").load("Home/NameReload");
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

最初加载并显示在主Index.cshtml中

<div id="divForm">
    @using (Html.BeginForm()) {

        <div id="divName">
            @Html.Partial("_Name")
        </div>
    }
</div>
Run Code Online (Sandbox Code Playgroud)

MyName字段是必需的,验证是通过MyViewModel中的Required属性实现的

namespace ValidationInPartial.ViewModels
{
    public class MyViewModel
    {
        [Required(ErrorMessage = "Please enter a Name.")]
        public string MyName { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

第一次加载页面后,如果单击"创建"按钮,则该字段将清空验证消息"请输入名称".显示在田野旁边,田地本身变成粉红色,这是预期的行为.现在通过单击"重新加载名称"链接,进行ajax调用(jquery.load(...)),重新加载部分,这里是控制器代码: …

validation csh partial razor asp.net-mvc-3

14
推荐指数
2
解决办法
3万
查看次数

在同一行上的特定单词后面提取一个单词

如何在Linux(csh)中提取特定单词后面的单词?更确切地说,我有一个文件,其中包含一行,如下所示:

[some useless data] --pe_cnt 100 --rd_cnt 1000 [some more data]
Run Code Online (Sandbox Code Playgroud)

我想提取单词100之后的数字--pe_cnt.我不能使用sed,只有当你想要提取整行时才能使用.也许我可以使用awk?

此外,我有多个文件具有不同的值而不是100所以我需要一些提取值但不依赖于值的东西.

linux bash csh

14
推荐指数
2
解决办法
3万
查看次数

在csh中,为什么4 - 3 + 1 == 0?

#!/bin/csh

@ cows = 4 - 3 + 1
echo $cows
Run Code Online (Sandbox Code Playgroud)

运行时这个简单的csh脚本在我期望"2"时产生输出"0".

~root: csh simple.1
0
Run Code Online (Sandbox Code Playgroud)

我做了一堆看,我唯一能想到的是" - "被读作一元否定而不是减法,因此改变运算符优先级并以4 - 4而不是2 + 1结束.这是正确?如果是这样,有什么理由吗?如果不是......帮助!

编辑:所以他们是正确的联想!这些运算符在C中不是正确的关联,是吗?C-Shell与C有什么不同?

csh operators

13
推荐指数
2
解决办法
749
查看次数

当我退出shell时,为什么unix后台进程有时会死?

我想知道为什么我在Bash shell的后台进程中看到了不同的行为

案例1:使用Putty(SSH)登录Unix服务器

  • 默认情况下,它使用csh shell
  • 我改成了bash shell
  • 键入睡眠2000&
  • 按回车键

它给了我工作号码.现在我通过点击putty窗口中的x来杀死我的会话现在打开另一个会话并尝试查找进程...该进程已经死亡.

案例2:案例1:使用Putty(SSH)登录Unix服务器默认情况下,它使用csh shell

  • 我改成了bash shell
  • vi mysleep.sh
  • 睡2000和保存mysleep.sh
  • ./mysleep.sh

这里的Diff是..而不是直接执行sleep命令我将sleep命令存储在文件中并执行文件.

现在我通过点击putty窗口中的x来杀死我的会话现在打开另一个会话并尝试查找进程...过程仍然存在

不知道为什么会这样.我认为我需要在bash中使用,即使在注销后也要运行该过程.

在父进程id中看到一个差异.在第二种情况下,sleep 2000的父进程id变为1.看起来只要mysleep.sh的进程死了,内核就将父进程分配给1.

unix bash putty csh nohup

12
推荐指数
3
解决办法
1万
查看次数

如何将数字数组从bash传递给csh

首先,在我的辩护中:我只使用csh,因为我的团队有很多遗留的csh.我们做科学编程; 很多人显然学会了在SunOS/Solaris时代使用csh,并且尽管有linux/bash过渡,但并没有放弃,尽管后者的(IMHO明显)优势.其次,如果这是一个FAQ,请道歉,但我没有通过SO或谷歌搜索找到答案,我已经投入了一些努力.

话虽如此:

我想从bash驱动一些遗留的csh脚本,作为[重写,删除]后者的第一步.bash-> csh适用于标量环境变量('envvars'),因为我可以从bash中导出它们并按预期从csh中读取它们.

然而,不是阵列...... 直到Chris J. Kiick的回答如下!以下示例更新为包括Kiick的答案及其产生的结果.将以下2个文件放在同一目录中,...

array_writer.sh

#!/usr/bin/env bash
### Test writing an array, passing it to csh, and reading it there.

THIS="$0"
THIS_DIR="$(readlink -f $(dirname ${THIS}))"
THIS_FN="$(basename ${THIS})"
MESSAGE_PREFIX="${THIS_FN}:"
ERROR_PREFIX="${MESSAGE_PREFIX} ERROR:"

PARTNER_FN='array_reader.csh'
PARTNER_DIR="${THIS_DIR}"
PARTNER_FP="${PARTNER_DIR}/${PARTNER_FN}"

export YEAR='2007'
# month-related arrays for ${YEAR}
declare -a BDOM=(0 31 59 90 120 151 181 212 243 273 304 334) # 0-based-Julian of first day of each month
declare -a MDAY=(31 28 31 30 31 30 …
Run Code Online (Sandbox Code Playgroud)

arrays bash csh

11
推荐指数
1
解决办法
292
查看次数

并行运行du

我有一个非常大的存储磁盘(16T).我想在它上运行'du'来计算每个子目录占用多少.但是,这需要很长时间.幸运的是,我拥有一组计算机.因此,我可以并行运行'du',每个作业都在一个单独的子目录中运行,并编写一个简单的脚本来执行该操作.是否有这样的事情或者我必须自己写吗?

parallel-processing bash csh du

11
推荐指数
1
解决办法
1731
查看次数

当我使用bash脚本时,$ 0不起作用

我有一个简单的脚本test.sh

#!/bin/bash
echo $0
Run Code Online (Sandbox Code Playgroud)

当我从csh终端运行以下命令时:

bash -c 'test.sh'
Run Code Online (Sandbox Code Playgroud)

然后输出是 test.sh

但是当我跑步时:

bash -c 'source test.sh'
Run Code Online (Sandbox Code Playgroud)

输出是 bash

在这种情况下,有人知道如何打印脚本名称吗?

bash csh

10
推荐指数
2
解决办法
3045
查看次数

标签 统计

csh ×10

bash ×7

linux ×2

shell ×2

arrays ×1

asp.net-mvc-3 ×1

du ×1

nohup ×1

operators ×1

parallel-processing ×1

partial ×1

perl ×1

putty ×1

razor ×1

tcsh ×1

unix ×1

validation ×1

zsh ×1