javascript

java

python

c#

android

c++

node.js

php

reactjs

jquery

html

css

ios

.net

git

ruby-on-rails

sql

c

string

ruby

macos-Mac上的默认终端$ PATH在哪里?

我一直在寻找整个系统,但找不到。 当我回显$ PATH时,我得到了我添加的内容以及默认路径。 我没有.profile,也没有.bashrc,但是默认路径不在其中。 我正在寻找它只是为了知道它的位置,因为所有教程都在.profile中解释了它,但是如果您没有它,该怎么办? 那它在哪里呢? 有人有什么想法吗?

trans by 2020-07-13T18:51:39Z

bash-如何从需要SUDO的php调用shell脚本?

我有一个bash脚本文件,需要SUDO才能工作。

我可以使用SUDO从命令行运行它,但系统会提示我输入SUDO密码。

我想通过shell_exec从php运行此脚本,但是如果我调用SUDO,它就不像命令行,在命令行中可以提示我输入密码。 有没有办法通过sudo调用传递sudo的密码?

我怎样才能做到这一点?

trans by 2020-07-13T13:08:19Z

Ubuntu bash脚本:如何用最后一个斜杠分割路径?

我有一个文件(例如称为list.txt),其中包含文件的相对路径,每行一个路径,即如下所示:

foo/bar/file1
foo/bar/baz/file2
goo/file3

我需要编写一个bash脚本,该脚本一次处理一个路径,在最后一个斜杠处将其拆分,然后启动另一个进程,将其作为参数传递给这两个路径。 到目前为止,我只有循环部分:

for p in `cat list.txt`
do
   # split $p like "foo/bar/file1" into "foo/bar/" as part1 and "file1" as part2
   inner_process.sh $part1 $part2
done

我如何分割? 当路径没有斜线时,这种方法在退化的情况下会起作用吗?

谢谢

trans by 2020-07-13T10:08:45Z

Windows-为什么Git Bash无法运行我的可执行文件?

我在git-for-Windows Git Bash上。 我无法在命令行上运行可执行文件:

Pedr@Abc-07 MINGW64 /c/dev
$ ls sqlite3.exe
sqlite3.exe*

Pedr@Abc-07 MINGW64 /c/dev
$ sqlite3
bash: sqlite3: command not found

为什么会这样呢?

trans by 2020-07-12T21:22:40Z

在bash中退出并显示错误消息(单行)

是否可以在不使用if语句的情况下通过错误退出并显示消息?

[[ $TRESHOLD =~ ^[0-9]+$ ]] || exit ERRCODE "Threshold must be an integer value!"

当然,在numeric arg required的右侧将不起作用,只是为了让您更好地了解我要实现的目标。

实际上,我什至不介意使用哪个ERR代码退出,只是为了显示消息。

编辑

我知道这可以解决问题,但是如何抑制显示numeric arg required在我的自定义消息之后?

[[ $TRESHOLD =~ ^[0-9]+$ ]] || exit "Threshold must be an integer value!"
trans by 2020-07-12T20:38:26Z

命令行-防止重复项保存在bash历史记录中

我试图防止shopt将重复的命令保存到我的历史记录中。 这是我得到的:

shopt -s histappend
export HISTIGNORE='&:ls:cd ~:cd ..:[bf]g:exit:h:history'
export HISTCONTROL=erasedups
export PROMPT_COMMAND='history -a'

当我登录并且内存中有shopt时,此方法工作正常。 例如:

$ history
    1 vi .bashrc
    2 vi .alias
    3 cd /cygdrive
    4 cd ~jplemme
    5 vi .bashrc
    6 vi .alias

$ vi .bashrc

$ history
    1 vi .alias
    2 cd /cygdrive
    3 cd ~jplemme
    4 vi .alias
    5 vi .bashrc

$ vi .alias

$ history
    1 cd /cygdrive
    2 cd ~jplemme
    3 vi .bashrc
    4 vi .alias

$ exit

但是,当我重新登录时,我的历史记录文件如下所示:

$ history
    1 vi .bashrc
    2 vi .alias
    3 cd /cygdrive
    4 cd ~jplemme
    5 vi .bashrc
    6 vi .alias
    7 vi .bashrc
    8 vi .alias

我究竟做错了什么?

编辑:从.bashrc删除shoptPROMPT_COMMAND行并不能解决问题。

trans by 2020-07-12T09:39:06Z

linux-如何将一个文本文件拆分为多个* .txt文件?

我得到一个文本文件file.txt(12 MBs),其中包含:

something1
something2
something3
something4
(...)

有什么方法可以将file.txt拆分为12个* .txt文件,比如说file2.txtfile3.txtfile4.txt(...)吗?

trans by 2020-07-12T06:50:28Z

bash-如何在使用cp复制目录时制作进度条?

我想我可以在cp进行时比较源目录中的文件数与目标目录中的文件数,或者用文件夹大小来代替它? 我尝试查找示例,但是所有bash进度条似乎都是为复制单个文件而编写的。 我想复制一堆文件(或目录,如果不可能的话)。

trans by 2020-07-12T01:38:40Z

将IP地址放入bash变量。 有没有更好的办法

我正在尝试找到一种简短且健壮的方法来将我的IP地址放入bash变量,并且很好奇是否有更简单的方法可以做到这一点。 这是我目前正在做的事情:

ip=`ifconfig|xargs|awk '{print $7}'|sed -e 's/[a-z]*:/''/'`
trans by 2020-07-11T23:07:58Z

bash-Linux:删除多个文件的文件扩展名

我有许多扩展名为.txt的文件。如何删除Linux中多个文件的.txt扩展名?

我找到

rename .old .new *.old

将296231133490341515808替代为.new

我也想对子文件夹中的文件执行此操作。

trans by 2020-07-11T22:07:12Z

bash-测试目录是否可以由给定的UID写入?

我们可以测试当前进程的uid是否可写目录:

if [ -w $directory ] ; then echo 'Eureka!' ; fi

但是,谁能建议一种方法来测试目录是否可被其他uid写入?

我的情况是我正在管理一个MySQL Server实例,并且我想临时更改慢速查询日志文件的位置。 我可以通过执行MySQL命令SET GLOBAL slow_query_log_file='$new_log_filename',然后禁用和启用查询日志记录以使su开始使用该文件来执行此操作。

但我希望我的脚本检查su进程的uid是否具有创建该新日志文件的权限。 所以我想做类似(伪代码)的事情:

$ if [ -w-as-mysql-uid `basename $new_log_filename` ] ; then echo 'Eureka!' ; fi

但这当然是一个假想的测试谓词。

澄清:我想要一个不依赖su的解决方案,因为我不能假定脚本用户具有su特权。

trans by 2020-07-10T22:08:09Z

macos-在OS X终端中修改Bash提示前缀

我有一个巨大的提示,将我的终端的空格“ names-MacBook-Pro”带到在每行输入命令的同一行。

有什么方法可以删除它或使其更短吗?

trans by 2020-07-10T19:02:22Z

来自bash的cygwin clearscreen

我想在cygwin终端中从bash清除屏幕。我努力了

cmd /c cls
echo -e "^V^L"
echo -e "\014"

这些都不起作用-它们都提供“换行”。 按CTRL + L确实可以-但是我想从Bash脚本中调用它。

有任何想法吗?

trans by 2020-07-10T17:06:40Z

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

重命名-如何在Bash中将文件名中的填充数置零?

使用Bash来重命名以下形式的文件的最佳方法是:

(foo1, foo2, ..., foo1300, ..., fooN)

使用零填充文件名:

(foo00001, foo00002, ..., foo01300, ..., fooN)
trans by 2020-07-10T11:51:24Z

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

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

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

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

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

bash-Linux为什么我无法将找到的结果通过管道传递给rm?

很抱歉,如果这是一个noobie问题,但我找不到很好的答案。

要找到然后删除我可以使用的东西

find . -name ".txt" -exec rm "{}" \;

但是为什么我不能像这样将结果通过管道传递给rm

find . -name ".txt" | rm 

就像我将其输送到grep

find . -name ".txt" | grep a

我从某个地方读到rm不从stdin接收输入,因此我无法通过管道传输它,但这是什么意思? 当我输入rm a.txt时,它会从标准输入中读取,就像我可以grep一样吗? 或者stdin和命令行之间有区别。 救命!

trans by 2020-07-09T05:57:44Z

shell-在Bash中连接变量

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

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

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

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

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

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

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

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