ऐसे मामले का उपयोग करें जहां स्क्रिप्ट फ़ाइलनाम में निष्पादन क्रम निर्धारित करने के लिए अग्रणी संख्या हो


9

मैं दस्तावेज़ीकरण या एक उपयोग के मामले की तलाश कर रहा हूं जहां लिनक्स में शेल स्क्रिप्ट के साथ एक निर्देशिका है जहां प्रत्येक फ़ाइलनाम को एक संख्या के साथ नेतृत्व किया जाता है, और फाइलें उस विशेष क्रम में चलाई जाती हैं। इस सम्मेलन को क्या कहा जाता है, और इसका उपयोग कहां किया जाता है?

उदाहरण के लिए:

0001-motd.sh
0002-proxy.sh
0300-ssh.sh

मुझे पता है कि मैंने इसे पहले देखा है, बस यह सुनिश्चित नहीं है कि इसे कहाँ या क्या कहा जाता है।


1
क्या आप रनलेवल स्क्रिप्ट के बारे में सोच रहे हैं जो /etc/rc?.dनिर्देशिकाओं में हैं?
जॉन एंडरसन

जवाबों:


12

ऐसा लगता है कि आप का जिक्र कर रहे हैं run-parts

NAME
       run-parts - run scripts or programs in a directory

SYNOPSIS
       run-parts  [--test]  [--verbose] [--report] [--lsbsysinit] [--regex=RE]
       [--umask=umask] [--arg=argument] [--exit-on-error] [--help] [--version]
       [--list] [--reverse] [--] DIRECTORY

       run-parts -V

DESCRIPTION
       run-parts  runs  all  the  executable  files  named  within constraints
       described below, found in directory directory.  Other files and  direc
       tories are silently ignored.

       If neither the --lsbsysinit option nor the --regex option is given then
       the names must consist entirely of ASCII upper- and lower-case letters,
       ASCII digits, ASCII underscores, and ASCII minus-hyphens.

       If  the  --lsbsysinit  option  is given, then the names must not end in
       .dpkg-old  or .dpkg-dist or .dpkg-new or .dpkg-tmp, and must belong  to
       one  or more of the following namespaces: the LANANA-assigned namespace
       (^[a-z0-9]+$);   the   LSB   hierarchical   and   reserved   namespaces
       (^_?([a-z0-9_.]+-)+[a-z0-9]+$);  and  the  Debian cron script namespace
       (^[a-zA-Z0-9_-]+$).

       If the --regex option  is  given,  the  names  must  match  the  custom
       extended regular expression specified as that option's argument.

       Files  are  run  in  the  lexical  sort order (according to the C/POSIX
       locale character collation rules) of their names unless  the  --reverse
       option is given, in which case they are run in the opposite order.

हाँ। यह बहुत सारे स्थानों पर उपयोग किया जाता है। पुरानी SysV init फाइलें (इन /etc/rc.*), नेटवर्क-मैनेजर X11
असिस्टेंट

-1

मुझे नहीं पता, या तो यह तरीका / हैक आपके मामले के लिए काम करेगा या नहीं। लेकिन, मुझे लगता है कि यह काम करेगा अगर मैं तुम्हें सही मिल गया।

[feddy@localhost ~]$ mkdir test
[feddy@localhost ~]$ cd test
[feddy@localhost test]$ ls
[feddy@localhost test]$ vi 0001-ko.sh
[feddy@localhost test]$ cp 0001-ko.sh 0002-ko.sh
[feddy@localhost test]$ cp 0001-ko.sh 0004-ko.sh
[feddy@localhost test]$ cp 0001-ko.sh 0005-ko file.sh
[feddy@localhost test]$ cp 0001-ko.sh 0008-ko.sh
[feddy@localhost test]$ ls
0001-ko.sh  0002-ko.sh  0004-ko.sh  0005-ko file.sh  0008-ko.sh

[feddy@localhost test]$ for i in *
> do
> bash "$i"
> done
file 0001-ko.sh
file 0002-ko.sh
file 0004-ko.sh
file 0005-ko file.sh
file 0008-ko.sh
[feddy@localhost test]$

या

$ find . -iname "*.sh"|while read f; do bash "$f"; done
file ./0001-ko1.sh
file ./0002-ko1.sh
file ./0005-ko1 file.sh
file ./0005-ko1.sh

आप एक स्क्रिप्ट बना सकते हैं और किसी भी फ़ोल्डर में क्रम में स्क्रिप्ट को निष्पादित करने के लिए इसका उपयोग कर सकते हैं (संख्याओं के अनुसार जो फ़ाइल नाम यानी xxxx-abcdef में शामिल है)।

कृपया मुझे सही करें अगर मैं आपको गलत मिला।


@steeldriver, ओह क्षमा करें, यदि फ़ाइल नाम में स्थान होगा तो यह कोड सही तरीके से काम नहीं करता है। मेरी गलती के लिए फिर से क्षमा करें, मैं इसे अपडेट करने जा रहा हूं। मुझे याद दिलाने के लिये धन्यवाद।
bsdboy

मुझे पूरा यकीन है कि ग्लोब मैचों (यदि सक्षम) का क्रम क्रम स्थानीय मिलान सेटिंग का अनुसरण करता है।
डेविड फ़ॉस्टर

@DavidFoerster, हाँ मुझे भी ऐसा लगता है।
bsdboy

कोई भी, जो StackExchange साइटों पर किसी भी उत्तर को अस्वीकार करने के लिए तैयार है, कम से कम लेखक को बताए कि उसने क्या गलती की है, इसलिए अगली बार से, वह यह सुनिश्चित करेगा कि वही बात फिर से नहीं होगी। क्योंकि दूसरों के लिए एक उचित उत्तर लिखने में बहुत समय और प्रयास लगता है। और, डाउनवोटर्स को बस एक डाउन एरो पर क्लिक करना होगा, बस।
bsdboy

मैंने इस उत्तर पर वोट नहीं दिया, लेकिन प्रश्न प्रलेखन के लिए पूछता है - "या इसे क्या कहा जाता है?", इसे करने के लिए कोई स्क्रिप्ट नहीं।
जो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.