Tag: bash

在shell脚本中,“kill -0 $ pid”是干什么用的?

基本上,'0'代表什么信号,因为在这里我看到从1开始的信号数字。

如何在Bash中生成随机数字?

如何在Bash范围内生成一个随机数字?

在bash脚本中使用源代码时获取“source:not found”错误

我试图写(我以为会是)一个简单的bash脚本,将: 运行virtualenv以$ 1创build一个新的环境 激活虚拟环境 做更多的东西(安装django,将django-admin.py添加到virtualenv的path等) 第1步工作得很好,但我似乎无法激活virtualenv。 对于那些不熟悉virtualenv的人来说,它会创build一个activate文件来激活虚拟环境。 从CLI中,您使用source运行它 source $env_name/bin/activate 其中$ env_name显然是虚拟环境安装目录的名称。 在我的脚本中,在创build虚拟环境之后,我将path存储到激活脚本中,如下所示: activate="`pwd`/$ENV_NAME/bin/activate" 但是当我打电话source "$activate" ,我得到这个: /home/clawlor/bin/scripts/djangoenv: 20: source: not found 我知道$activate包含激活脚本的正确path,实际上我甚至在调用source之前testing了一个文件。 但是, source自身似乎无法find它。 我也尝试在CLI中手动运行所有步骤,在那里一切工作正常。 在我的研究中,我发现这个脚本与我想要的类似,但也做了很多其他我不需要的东西,比如将所有的虚拟环境存储在〜/ .virtualenv目录中$ WORKON_HOME)。 但是在我看来,他正在创buildactivate的path,并且以与我基本相同的方式调用source "$activate" 。 这里是完整的脚本: #!/bin/sh PYTHON_PATH=~/bin/python-2.6.1/bin/python if [ $# = 1 ] then ENV_NAME="$1" virtualenv -p $PYTHON_PATH –no-site-packages $ENV_NAME activate="`pwd`/$ENV_NAME/bin/activate" if [ ! -f "$activate" ] […]

用默认值在bash中读取一个variables

我需要从bash脚本中读取terminal的值。 我希望能够提供用户可以更改的默认值。 # Please enter your name: Ricardo^ 在这个脚本中,提示是“请input你的名字:”默认值是“里卡多”,光标会在默认值之后。 有没有办法做到这一点在bash脚本?

一元运算符预期

我一直在试图找出什么是错误的,但只是无法弄清楚.. 这部分似乎正在得到一个错误.. elif [ $operation = "man" ]; then if [ $aug1 = "add" ]; then # <- Line 75 echo "Man Page for: add" echo "" echo "Syntax: add [number 1] [number 2]" echo "" echo "Description:" echo "Add two different numbers together." echo "" echo "Info:" echo "Added in v1.0" echo "" elif […]

Linux / Unix Bash脚本如何知道自己的PID?

我在Bash中有一个名为Script.sh的脚本,它需要知道它自己的PID(即,我需要在Script.sh中获得PID) 任何想法如何做到这一点?

暂时在bash中改变当前的工作目录来运行一个命令

我知道我可以使用cd命令在bash中更改我的工作目录。 但是如果我这样做的话: cd SOME_PATH && run_some_command 那么工作目录将会永久更改。 有没有办法像这样临时改变工作目录? PWD=SOME_PATH run_some_command

Bash延续线

你如何使用bash延续线? 我意识到你可以这样做: echo "continuation \ lines" >continuation lines 但是,如果您有缩进的代码,则效果不佳: echo "continuation \ lines" >continuation lines

比较bash中的整数,一元运算符预期

下面的代码给出 [:-ge:预期的一元运算符 什么时候 i=0 if [ $i -ge 2 ] then #some code fi 为什么?

如何在bash脚本中检查文件名的扩展名?

我正在编写一个每晚构build脚本。 除了一个小小的障碍之外,一切都很好, #!/bin/bash for file in "$PATH_TO_SOMEWHERE"; do if [ -d $file ] then # do something directory-ish else if [ "$file" == "*.txt" ] # this is the snag then # do something txt-ish fi fi done; 我的问题是确定文件扩展名,然后相应的行事。 我知道这个问题是在if语句中,testing一个txt文件。 如何确定文件是否有.txt后缀?