小编Dee*_*ace的帖子

非递归地使用“查找”?

使用/bin/find /root -name '*.csv'回报:

/root/small_devices.csv
/root/locating/located_201606291341.csv
/root/locating/located_201606301411.csv
/root/locating/g_cache.csv
/root/locating/located_201606291747.csv
/root/locating/located_201607031511.csv
/root/locating/located_201606291746.csv
/root/locating/located_201607031510.csv
/root/locating/located_201606301412.csv
/root/locating/located_201606301415.csv
/root/locating/located_201607031512.csv
Run Code Online (Sandbox Code Playgroud)

我实际上并不想要 . 下的所有文件/root/locating/,因此预期的输出只是/root/small_devices.csv.

是否有一种非递归使用“查找”的有效方法?

如果重要的话,我正在使用 CentOS。

shell find

34
推荐指数
2
解决办法
4万
查看次数

在 init.d 脚本中执行多个命令

我有以下 init.d 脚本:

#! /bin/sh                                                                                          
### BEGIN INIT INFO                                                                                 
# Provides:          Django-Server                                                                  
# Required-Start:    $all                                                                           
# Required-Stop:                                                                                    
# Default-Start:     2 3 4 5                                                                        
# Default-Stop:      0 1 6                                                                          
# Short-Description: Django Server                                                                  
### END INIT INFO                                                                                   

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin                          

. /lib/init/vars.sh                                                                                 
. /lib/lsb/init-functions                                                                           
# If you need to source some other scripts, do it here                                              

case "$1" in                                                                                        
  start)                                                                                            
    log_begin_msg "Starting Django Server"                                                          
    python3 "/home/pi/Python Projects/episode_tracker/manage.py" runserver 0.0.0.0:12345  --insecure
    python3 "/home/pi/Python Projects/shifts_server/manage.py" runserver 0.0.0.0:23456  --insecure  
    log_end_msg $?                                                                                  
    exit 0                                                                                          
    ;;                                                                                              
  stop)                                                                                             
    log_begin_msg …
Run Code Online (Sandbox Code Playgroud)

shell-script init.d

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

意外的“(”——Shell 脚本在 CentOS 上使用 bash 而不是在 Ubuntu 上工作

我有以下脚本:

names=($(python3 script.py -p "$GIT_PREVIOUS_COMMIT" -c "$GIT_COMMIT" | tr -d '[],'))
Run Code Online (Sandbox Code Playgroud)

它适用于带有 bash 4.1.2(2) 的 Centos 6 机器,但是当我尝试在 Ubuntu 上执行时,我得到:

bashfile.sh: 1: bashfile.sh: Syntax error: "(" unexpected
Run Code Online (Sandbox Code Playgroud)

shell bash shell-script

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

标签 统计

shell ×2

shell-script ×2

bash ×1

find ×1

init.d ×1