javascript

java

python

c#

android

c++

node.js

php

reactjs

jquery

html

css

ios

.net

git

ruby-on-rails

sql

c

string

ruby

如何将变量从awk传递给shell命令?

我正在尝试从awk中为文件的每一行运行一个shell命令,该shell命令需要一个输入参数。 我尝试使用$1,但无法识别输入参数。

该文件的每一行都是文件的地址,我想运行命令来处理该文件。 因此,对于一个简单的示例,我想对每行使用“ wc”命令,并将$1传递给wc。

awk '{system("wc $1")}' myfile
trans by 2020-07-13T15:05:57Z

是否有用于Shell脚本的静态分析工具(如Lint或Perl :: Critic)?

是否有任何外壳程序(特别是bash或ksh)检查程序可以测试外壳程序脚本的样式,最佳做法,命名约定等? (类似Lint的C语言或Perl :: Critic的Perl。)

我知道使用ksh可以通过运行ksh -n script.ksh来进行语法检查,但是我希望不仅限于语法检查-还可以解析/分析实际代码?

我可能不走运,但是我想问问也没有什么坏处。

trans by 2020-07-12T15:59:47Z

shell-如何解决Android ADB主机设备中未经授权的ADB设备?

当我使用扎根的Android设备作为ADB主机将adb命令“ adb设备”发送到Samsung S4时,收到了设备未授权的错误消息。 但是,当我尝试使用adb到Samsung Galaxy Nexus时,它工作正常。 谁能建议我解决三星S4问题?

=========================================
# adb devices
List of devices attached
4d00f9169907301b        unauthorized
=========================================

提前致谢。

编辑:发现此问题仅发生在Android 4.2.2及更高版本上。 以下链接说明Google为使用adb实现了一些新的安全功能。

[HTTP://NE Len KO V.blogspot.com/2013/02/secure-USB-debugging-in-Android-422.HTML]

感谢是否有人可以为此提供帮助。

trans by 2020-07-12T02:19:08Z

regex-Shell脚本中“ =〜”运算符的含义

这个问题已经在这里有了答案:

  • Bash正则表达式=〜运算符 2个答案

我遇到了一个shell脚本,其中的代码是

for line in $LIST_ARRAY;do
if [[ $LIST_ARRAY =~ $line ]]
then
echo "true"
....
...
.

=~在这种情况下有什么用?

trans by 2020-07-10T13:31:26Z

shell-修剪字符串中的前导和尾随空格

我正在尝试删除以下Name, Order  的第二列中的前导和尾随空格:

Name, Order  
Trim, working
cat,cat1

我已经使用下面的Name, Order  删除了第二列中的前导和尾随空格,但是它不起作用。 我想念什么?

awk -F, '{$2=$2};1' input.txt

输出为:

Name, Order  
Trim, working
cat,cat1

前导和尾随空格不会删除。

trans by 2020-07-10T07:52:43Z

bash-如何以编程方式确定Git签出是否为标签,如果是,标签名是什么

在Unix或GNU脚本环境(例如Linux发行版,Cygwin,OSX)中,确定当前签出是否为Git标签的最佳方法是什么。 如果是标签,如何确定标签名称?

该技术的一种用途是自动标记发布(如svnversion将对Subversion进行标记)。

请参阅有关以编程方式检测Git分支的相关问题。

trans by 2020-07-10T01:07:10Z

shell-错误:EACCES:权限被拒绝,访问'/ usr / lib / node_modules'

我正在尝试使用命令npm install typescript安装Typescript,并返回此错误:

    npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules'
    npm ERR!     at Error (native)
    npm ERR!  { Error: EACCES: permission denied, access '/usr/lib/node_modules'
    npm ERR!     at Error (native)
    npm ERR!   errno: -13,
    npm ERR!   code: 'EACCES',
    npm ERR!   syscall: 'access',
    npm ERR!   path: '/usr/lib/node_modules' }
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator.
    npm ERR! Linux 4.4.0-93-generic
    npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "typescript"
    npm ERR! node v6.11.2
    npm ERR! npm  v3.10.10
    npm ERR! path npm-debug.log.1024969454
    npm ERR! code EACCES
    npm ERR! errno -13
    npm ERR! syscall open

    npm ERR! Error: EACCES: permission denied, open 'npm-debug.log.1024969454'
    npm ERR!     at Error (native)
    npm ERR!  { Error: EACCES: permission denied, open 'npm-debug.log.1024969454'
    npm ERR!     at Error (native)
    npm ERR!   errno: -13,
    npm ERR!   code: 'EACCES',
    npm ERR!   syscall: 'open',
    npm ERR!   path: 'npm-debug.log.1024969454' }
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator.

    npm ERR! Please include the following file with any support request:
    npm ERR!     /npm-debug.log
    jramirez@jramirez:/$ ^C
    jramirez@jramirez:/$ npm install typescript
    npm WARN checkPermissions Missing write access to /
    /
    └── typescript@2.5.2 

    npm WARN enoent ENOENT: no such file or directory, open '/package.json'
    npm WARN !invalid#1 No description
    npm WARN !invalid#1 No repository field.
    npm WARN !invalid#1 No README data
    npm WARN !invalid#1 No license field.
    npm ERR! Linux 4.4.0-93-generic
    npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "typescript"
    npm ERR! node v6.11.2
    npm ERR! npm  v3.10.10
    npm ERR! path /
    npm ERR! code EACCES
    npm ERR! errno -13
    npm ERR! syscall access

    npm ERR! Error: EACCES: permission denied, access '/'
    npm ERR!     at Error (native)
    npm ERR!  { Error: EACCES: permission denied, access '/'
    npm ERR!     at Error (native) errno: -13, code: 'EACCES', syscall: 'access', path: '/' }
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator.
    npm ERR! Linux 4.4.0-93-generic
    npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "typescript"
    npm ERR! node v6.11.2
    npm ERR! npm  v3.10.10
    npm ERR! path npm-debug.log.2387664261
    npm ERR! code EACCES
    npm ERR! errno -13
    npm ERR! syscall open

    npm ERR! Error: EACCES: permission denied, open 'npm-debug.log.2387664261'
    npm ERR!     at Error (native)
    npm ERR!  { Error: EACCES: permission denied, open 'npm-debug.log.2387664261'
    npm ERR!     at Error (native)
    npm ERR!   errno: -13,
    npm ERR!   code: 'EACCES',
    npm ERR!   syscall: 'open',
    npm ERR!   path: 'npm-debug.log.2387664261' }
    npm ERR! 
    npm ERR! Please try running this command again as root/Administrator.

    npm ERR! Please include the following file with any support request:
    npm ERR!     /npm-debug.log

另外,我还运行npm install typescript(不带-g),但是不起作用,或者是否存在其他安装打字稿的方式?我的操作系统是Linux Ubuntu 16.04。我很少使用node,并且不知道要解决此问题。

我的问题是:确切地说,哪些目录需要该权限?

trans by 2020-07-10T00:10:19Z

shell-如何使用cron作业运行python文件

嗨,我创建了一个Python文件,例如python file_example.py

该文件将输出Sensex值

假设Linux系统上文件的路径为python file_example.py

我通常会像python file_example.py一样运行文件

但是我想设置一个cron作业以每隔2分钟运行一次python文件,该文件位于上述路径中

谁能让我知道该怎么做

编辑代码:

我已经编辑了代码并创建了一个名为test.sh的bash脚本,如下所示

#!/bin/bash 
cd /Desktop/downloads/file_example.py
python file_example.py 2>log.txt 

当我运行上述文件时,显示以下错误:

sh-4.2$ python test.sh
  File "test.sh", line 3
    python test.py 2>log.txt 
              ^
SyntaxError: invalid syntax
trans by 2020-07-08T21:45:17Z

python-不同折叠形式的命令行执行

我正在使用os.system(command)调用在python中调用命令行程序。

如何调用此命令传递另一个文件夹来执行? 有系统调用吗? 或者,我应该保存当前文件夹,并在执行后更改以恢复它。

trans by 2020-07-08T18:15:13Z

shell-在Bash中连接变量

这个问题已经在这里有了答案:

  • 如何在Bash中连接字符串变量 30个答案

毫无疑问,这是一个愚蠢的问题,我正在尝试将变量添加到变量的中间,因此例如在PHP中,我会这样做:

$mystring = $arg1 . '12' . $arg2 . 'endoffile';

所以输出可能是20121201endoffile,如何在linux bash脚本中实现相同的效果?

trans by 2020-07-08T13:29:25Z

使用python运行Windows Shell命令

我们如何使用Python与OS Shell交互?我想通过python运行Windows cmd命令。 如何实现?

trans by 2020-07-08T09:52:05Z

Linux-Bash:等待超时

在Bash脚本中,我想执行以下操作:

app1 &
pidApp1=$!
app2 &
pidApp2=$1

timeout 60 wait $pidApp1 $pidApp2
kill -9 $pidApp1 $pidApp2

也就是说,在后台启动两个应用程序,并给它们60秒以完成其工作。 然后,如果他们没有在该间隔内完成,请杀死他们。

不幸的是,上述操作不起作用,因为wait是可执行文件,而wait是shell命令。 我尝试将其更改为:

timeout 60 bash -c wait $pidApp1 $pidApp2

但这仍然不起作用,因为只能在同一外壳程序内启动的PID上调用wait

有任何想法吗?

trans by 2020-07-08T04:15:25Z

bash-检测用户路径在i中是否具有特定目录

使用/bin/bash,如何检测用户的$ PATH变量中是否有特定目录?

例如

if [ -p "$HOME/bin" ]; then
  echo "Your path is missing ~/bin, you might want to add it."
else
  echo "Your path is correctly set"
fi
trans by 2020-07-08T02:18:13Z

从Shell脚本导入函数

我有一个要用shUnit测试的shell脚本。 该脚本(以及所有功能)都在一个文件中,因为它使安装更加容易。

run_tests的示例

#!/bin/sh

foo () { ... }
bar () { ... }

code

我想编写第二个文件(不需要分发和安装)来测试run_tests中定义的功能

run_tests这样的东西

#!/bin/sh

. script.sh

# Unit tests

现在问题出在run_tests(或Bash中的source)。 它不仅解析函数定义,而且执行脚本中的代码。

由于没有参数的脚本没有任何坏处,我可以

. script.sh > /dev/null 2>&1

但我想知道是否有更好的方法可以实现我的目标。

编辑

在源脚本调用run_tests的情况下,我建议的解决方法不起作用,因此我必须捕获出口

#!/bin/sh

trap run_tests ERR EXIT

run_tests() {
   ...
}

. script.sh

run_tests函数被调用,但是一旦我重定向源命令的输出,脚本中的函数就不会被解析,并且在陷阱处理程序中不可用

这有效,但我得到run_tests的输出:

#!/bin/sh
trap run_tests ERR EXIT
run_tests() {
   function_defined_in_script_sh
}
. script.sh

这不会打印输出,但是我收到一个错误,该函数未定义:

#!/bin/sh
trap run_tests ERR EXIT
run_tests() {
   function_defined_in_script_sh
}
. script.sh | grep OUTPUT_THAT_DOES_NOT_EXISTS

这不会打印输出,并且根本不会调用2955943283580780732416陷阱处理程序:

#!/bin/sh
trap run_tests ERR EXIT
run_tests() {
   function_defined_in_script_sh
}
. script.sh > /dev/null
trans by 2020-07-07T12:41:47Z

在Linux / Bash中随机改行

我在linux中有一些文件。 例如2,我需要将文件改组为一个文件。

例如

$cat file1
line 1
line 2
line 3
line 4
line 5
line 6
line 7
line 8

$cat file2
linea one
linea two
linea three
linea four
linea five
linea six
linea seven
linea eight

后来,我重新整理了两个文件,我可以得到类似的东西:

linea eight
line 4
linea five
line 1
linea three
line 8
linea seven
line 5
linea two
linea one
line 2
linea four
line 7
linea six
line 1
line 6
trans by 2020-07-05T15:47:44Z

我尝试使用adb shell打开数据库时,为什么在根植的Nexus One上出现“ sqlite3:未找到”错误?

# sqlite3 /data/data/com.moodme.android/databases/moodme
sqlite3 /data/data/com.moodme.android/databases/moodme
sqlite3: not found
trans by 2020-07-05T07:17:22Z

bash-Linux Shell是否支持列表数据结构?

这个问题与shell支持集不同吗?

我知道很多脚本语言支持列表结构,例如python,python,ruby和javascript,那么Linux shell呢?

外壳程序支持这种语法吗?

for i in list:
do
     print i
done

我首先要初始化一个列表,例如:

ListName = [ item1, item2, ..., itemn ]

然后遍历它

在编写shell脚本时有可能吗?

trans by 2020-07-02T19:54:50Z

如何使用Linux Shell脚本删除^ [和文件中的所有转义序列

我们要删除^[和所有转义序列。

sed无法正常工作,并给我们这个错误:

$ sed 's/^[//g' oldfile > newfile; mv newfile oldfile;
sed: -e expression #1, char 7: unterminated `s' command

$ sed -i '' -e 's/^[//g' somefile
sed: -e expression #1, char 7: unterminated `s' command
trans by 2020-07-02T07:02:18Z

linux-如何在没有任何用户配置的情况下启动shell?

我需要在Linux / OSX终端下使用“干净的” shell(例如bash),而无需任何用户配置,但是每次启动时,它都会从某些文件(例如〜/ .bashrc)中读取配置信息。 每当我需要“干净”的外壳时,我都可以修改该文件,并在完成后将其还原,但是有没有更简单的方法,例如命令?

trans by 2020-07-01T22:44:36Z

正则表达式-如何在grep中每个文件一次匹配?

是否有任何grep选项可以让我控制匹配的总数,但在每个文件的第一个匹配处停止?

例:

如果我这样做-m我会得到:

./app.coffee:express = require 'express'
./app.coffee:passport = require 'passport'
./app.coffee:BrowserIDStrategy = require('passport-browserid').Strategy
./app.coffee:app = express()
./config.coffee:    session_secret: 'nyan cat'

如果我执行-m,我会得到:

./app.coffee:config = require './config'
./app.coffee:passport = require 'passport'

但是,我真正想要的是此输出:

./app.coffee:express = require 'express'
./config.coffee:    session_secret: 'nyan cat'

-m无法正常工作,因为我得到了-m

./app.coffee:express = require 'express'

尝试不使用grep例如 这个-m产生了:

config = require './config'
    session_secret: 'nyan cat'

更新:如下所述,GNU grep -m选项将每个文件的计数视为计数,而BSD grep的-m则将其视为全局匹配计数

trans by 2020-07-01T01:49:06Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共36页