小编cod*_*ter的帖子

Bash 中 ${1:-0} 的含义是什么?

我似乎在示例 9-14。

$ echo ${1:-0}
$ 0
$ echo ${2:-32767}
$ 32767
Run Code Online (Sandbox Code Playgroud)

所以我无法理解...

bash shell

0
推荐指数
1
解决办法
2909
查看次数

为什么Bash在运行之前会扩展命令?

我正在运行该命令find . -name *.bak并收到错误"Paths must precede expression"错误.这个问题已得到解答,答案非常好,但我不明白为什么bash在运行find命令之前扩展了外卡?原始的例子.

它说find . -name *.bak扩大到find . -name tim.bak example.bak.有人可以解释为什么它被扩展,我不明白为什么这个功能为globs是个好主意.

linux bash shell glob

0
推荐指数
1
解决办法
65
查看次数

如何在脚本中检测DDL语句并退出

当在KSH中针对Linux上的Oracle 11.2.0.4或更高版本的数据库通过SQLPLUS运行脚本时,是否可以检测DDL语句,退出并回滚所有以前的非DDL语句?所以这将是这样的,但增强了停止第一个DDL.

    WHENEVER SQLERROR EXIT ROLLBACK
    @script.sql
Run Code Online (Sandbox Code Playgroud)

有没有办法在PLSQL中设置异常处理,以便在第一个DDL语句执行之前立即退出?

linux oracle ksh plsql sqlplus

0
推荐指数
1
解决办法
145
查看次数

是否可以在Bash函数中本地更改IFS?

我有一个功能需要为其逻辑更改IFS:

my_func() {
  oldIFS=$IFS; IFS=.; var="$1"; arr=($var); IFS=$oldIFS
  # more logic here
}
Run Code Online (Sandbox Code Playgroud)

我可以将IFS声明为local IFS函数内部的内容,这样就不必担心备份其当前值并在以后还原吗?

bash shell local ifs

0
推荐指数
2
解决办法
1562
查看次数

如何检查相同参数的各种值

我有一个自定义命令,如下所示:

bashcustomCommand cfgAlert -i 1
Run Code Online (Sandbox Code Playgroud)

但是,值i可以是1 to 4 我想要修改自定义命令的任何内容,以便它可以解释i from 1 to 4单个命令中的所有值

截至目前,我写的如下:

bashcustomCommand cfgAlert -i 1
bashcustomCommand cfgAlert -i 2
bashcustomCommand cfgAlert -i 3
bashcustomCommand cfgAlert -i 4
Run Code Online (Sandbox Code Playgroud)

我想编写一个可以解释所有问题的命令 4 values

bash grep sed

0
推荐指数
1
解决办法
40
查看次数

Bash正则表达式被视为字符串而不是正则表达式

有人可以解释为什么下面的bash代码会回显“选择是一个数字!”。当我在读取提示下键入“ 1”时:

  read choice
  re='^[0-9]+$'

  if [[ $choice =~ $re ]]; then
    echo "choice was a number!"
  else
    echo "choice was NOT a number!"
  fi
Run Code Online (Sandbox Code Playgroud)

...但是没有中间$re变量的相同代码将回显“选择不是数字!”:

  read choice

  if [[ $choice =~ '^[0-9]+$' ]]; then
    echo "choice was a number!"
  else
    echo "choice was NOT a number!"
  fi
Run Code Online (Sandbox Code Playgroud)

?

regex bash

0
推荐指数
1
解决办法
44
查看次数

如何读取包含 BOM 和 CRLF 的文本文件?

我有一堆文本文件,其中包含字节顺序标记 (BOM),并且它们还具有 CRLF (\r\n) 结尾来标记行尾。例如,这是八进制转储片段:

$ od -bc P21_T_3-28-2022.txt
0000000   357 273 277 163 164 141 147 145 040 061 015 012 120 154 141 171
         357 273 277   s   t   a   g   e       1  \r  \n   P   l   a   y
0000020   151 156 147 040 164 150 145 163 145 040 164 167 157 040 147 141
           i   n   g       t   h   e   s   e       t   w   o       g   a
0000040   155 145 163 054 040 162 145 155 …
Run Code Online (Sandbox Code Playgroud)

python io byte-order-mark file

0
推荐指数
1
解决办法
452
查看次数

删除名称中带双引号的文件

我有一些名称如下的文件:

name_"some thing".svg
Run Code Online (Sandbox Code Playgroud)

我无法对他们进行任何操作。移动、重命名、删除、编辑等。如何重命名或删除这些文件?

我已经在这里用谷歌搜索并搜索了这个问题,但没有提出的解决方案对我有用。我总是遇到同样的错误:

No such file or directory.
Run Code Online (Sandbox Code Playgroud)

到达它们的完整路径是:

/media/bruno/HDD Externo/temp/
Run Code Online (Sandbox Code Playgroud)

这是一个 USB 外置硬盘。

linux ubuntu-16.04

-1
推荐指数
1
解决办法
1586
查看次数

检查管道中命令的状态

grep如果有匹配,我想要一个字符串并剪切一个字段.问题是,无论是否匹配,命令的输出$?都是0,这很奇怪.请参阅下面的输出:

$ R=`grep g09 tor1.sh | cut -d ' ' -f2`
$ echo $R
test
$ R=`grep g09 tor1.sh | cut -d ' ' -f2`
$ echo $?
0
Run Code Online (Sandbox Code Playgroud)

如你所见,有一个匹配但是$?为0.现在看到这个:

$ R=`grep g09 tor.sh | cut -d ' ' -f2`
$ echo $R

$ R=`grep g09 tor.sh | cut -d ' ' -f2`
$ echo $?
0
Run Code Online (Sandbox Code Playgroud)

在这里,g09没有匹配但$?仍为0.为什么?

bash

-1
推荐指数
1
解决办法
54
查看次数

在 shell 中创建日期格式为 dd/mm/yyyy 的文件名

最近,我遇到使用 bash shell 创建一个具有日期格式的文件名,如下例所示

touch 22/04/2017
Run Code Online (Sandbox Code Playgroud)

它会抛出错误,这意味着您无法使用此格式创建文件名。

touch: 22/04/2014: No such file or directory
Run Code Online (Sandbox Code Playgroud)

有人知道吗?

bash

-1
推荐指数
1
解决办法
1100
查看次数

为什么下面的代码没有终止?

为什么下面的代码根本没有终止?

int main()
{
  printf("Hello world\n");
  main("hello",32);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c

-3
推荐指数
1
解决办法
266
查看次数

strptime 和 strftime 有什么区别?

我正在做一个项目,在那里我有一个名为“开始时间”的列日期的字典。我需要提取月、小时和年、星期几。我现在被困住了,我有下面的代码。

   {if city =='NYC':
        datn = datum[('starttime')]
        datn = dt.strptime(datn,"%m/%d/%y %H:%M:%S")
        hour = dt.strftime(datn,"%H")
        year = dt.strftime(datn,"%y")
    elif city == 'Chicago':
    datc = datum[('starttime')]
    datc = dt.strptime(datc,"%m/%d/%y %H:%M")
    month = dt.strftime(datc,"%m")
    hour = dt.strftime(datc,"%H")
    year = dt.strftime(datc,"%y")
    else:
    datw = datum[('start date')]
    datw = dt.strftime (datw,"%m")
    hour = dt.strftime(datw,"%H")
    year = dt.strftime(datw,"%y")
                              
return (month, hour, day_of_week)
   } 
Run Code Online (Sandbox Code Playgroud)

我的导入语句位于代码的顶部,如下所示:

from datetime import datetime
Run Code Online (Sandbox Code Playgroud)

python

-3
推荐指数
1
解决办法
3644
查看次数

标签 统计

bash ×7

linux ×3

shell ×3

python ×2

byte-order-mark ×1

c ×1

file ×1

glob ×1

grep ×1

ifs ×1

io ×1

ksh ×1

local ×1

oracle ×1

plsql ×1

regex ×1

sed ×1

sqlplus ×1

ubuntu-16.04 ×1