Tag: sh

在UNIX shell脚本中从列表中select唯一或不同的值

我有一个ksh脚本,返回一个很长的值列表,换行符分隔,我想只看到唯一/不同值。 有可能做到这一点? 例如,假设我的输出是目录中的文件后缀: tar gz java gz java tar class class 我想看到一个像这样的列表: tar gz java class

我怎样才能在多行分割一个shell命令?

当命令是if语句的一部分时,如何在shell中的多行中分割命令? 虽然这工作: if ! fab –fabfile=.deploy/fabfile.py –forward-agent –disable-known-hosts deploy:$target; then rc=1 fi 这不工作: # does not work: if ! fab –fabfile=.deploy/fabfile.py \ –forward-agent \ –disable-known-hosts deploy:$target; then rc=1 fi 而不是整个命令执行,我得到: ./script.sh: line 73: –forward-agent: command not found 更重要的是,我对Bash的理解所缺less的东西,将会帮助我理解这一点以及未来的类似问题。

如何从shell脚本获取密码而不回显

我有一个脚本可以自动执行需要访问密码保护系统的进程。 系统通过一个接受用户密码作为参数的命令行程序来访问。 我想提示用户input他们的密码,将其分配给一个shellvariables,然后使用该variables来构造访问程序的命令行(这当然会产生我将处理的stream输出)。 在Bourne / Bash中,我是一个合理的shell编程人员,但是我不知道如何接受用户的input,而不用回应到terminal(或者使用'*'字符回显)。 有人能帮忙吗?

如何在Mac上获得GNU的readlink -f的行为?

在Linux上, readlink实用程序接受附加链接readlink的选项-f 。 这似乎不适用于Mac和BSD系统。 相当于什么? 这里有一些debugging信息: $ which readlink; readlink -f /usr/bin/readlink readlink: illegal option -f usage: readlink [-n] [file …]

如何通过shell脚本执行mongo命令?

我想在shell脚本中执行mongo命令。 我尝试下面的方式test.sh #!/bin/sh mongo myDbName db.mycollection.findOne() show collections 当我执行上面的脚本./test.sh 然后build立了mongo连接,但是下一个命令没有执行 如何通过sh脚本执行其他命令[test.sh]? 请帮帮我

set -e在bash脚本中是什么意思?

我正在研究该脚本在Debian档案(.deb)文件解压缩之前执行的preinst文件的内容。 该脚本具有以下代码: #!/bin/bash set -e # Automatically added by dh_installinit if [ "$1" = install ]; then if [ -d /usr/share/MyApplicationName ]; then echo "MyApplicationName is just installed" return 1 fi rm -Rf $HOME/.config/nautilus-actions/nautilus-actions.conf rm -Rf $HOME/.local/share/file-manager/actions/* fi # End automatically added section 我的第一个查询是关于行: set -e 我认为脚本的其余部分非常简单:它检查Debian / Ubuntu包pipe理器是否正在执行安装操作。 如果是,它会检查我的应用程序是否刚安装在系统上。 如果有,脚本打印出消息“MyApplicationName刚刚安装”并结束( return 1表示以“错误”结束,不是吗?)。 如果用户要求Debian / […]

如何在Shell脚本中执行逻辑或操作

我试图做一个简单的条件检查,但它似乎并没有工作。 如果$#等于0或者大于1那就打个招呼吧。 我尝试过以下语法,但没有成功: if [ "$#" == 0 -o "$#" > 1 ] ; then echo "hello" fi if [ "$#" == 0 ] || [ "$#" > 1 ] ; then echo "hello" fi

如何声明和使用shell脚本中的布尔variables?

我尝试使用以下语法在shell脚本中声明一个布尔variables: variable=$false variable=$true 它是否正确? 另外,如果我想更新该variables,我会使用相同的语法? 最后,使用布尔variables作为正确expression式的语法如下: if [ $variable ] if [ !$variable ]

如何在shell脚本中删除文件名的扩展名?

下面的代码有什么问题? name='$filename | cut -f1 -d'.'' 就这样,我得到了string'$ filename | 切-f1 -d'。 但如果我删除引号,我什么都没有得到。 同时打字 "test.exe" | cut -f1 -d'.' 在一个shell给我我想要的输出,“testing”。 我已经知道$ filename已被分配正确的值。 我想要做的是分配一个variables的文件名没有扩展名。

在UNIX shell脚本中,“#!/ bin / sh”是什么意思?

我正在浏览一些shell脚本教程,并find以下示例程序: #!/bin/sh clear echo "HELLO WORLD" 任何人都可以告诉在评论中提及“ !/bin/sh ”的意义吗?