Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
Google Site



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 02-10-2008
Registreret Bruger
 

Join Date: Feb 2008
Stillinger: 5
Sådan indtaster if-derefter betingelse om kommandoprompt / line?

Hej

Jeg har nogle problemer med at indtaste if-konditioneres derefter i en enkelt linje på kommandoprompten i csh.
Kan nogen vise, hvordan gør man det?

f.eks:

kilde. cshrc;
cd $ dir;
pwd;
test-d $ backup_dir;
hvis [$? -eq 1]

mkdir-p $ (backup_dir);
echo indvendig loop;
fi;
echo uden loop;
MV-f $ data_dir / * $ backup_dir;

Jeg får fejl mundheld fejl mundheld

[sshexec], hvis: Expression Syntax.
[sshexec] Remote kommando mislykkedes med exit status 1


tak.
Sponsorerede links
  #2 (permalink)  
Old 02-10-2008
RTM's Avatar
RTM RTM is offline Forum Advisor  
Registreret Bruger
 

Join Date: Apr 2002
Location: På min motorcykel
Indlæg: 3.061
Hvorfor er du sourcing en. Cshrc og derefter kører sh / ksh type IF kommando?
Hvad shell bruger du?
  #3 (permalink)  
Old 02-10-2008
otheus's Avatar
otheus otheus is offline Forum Advisor  
Redaktør ala Mode
 

Join Date: Feb 2007
Sted: Innsbruck, Østrig
Posts: 1.906
hvis-så på kommandolinjen

Ah, du forsøger at bruge sh-stil, syntaks i en csh script.


Det er egentlig ikke muligt at gøre på én linje. Du kan bruge kontrol udtryk til at sortere i gøre hvad du vil:


Code:
[ -f .profile ] && echo "exists" || echo "does not exist"

Her [er en symbolsk henvisning til eksternt program "hvis" (brug, hvis kan kalde csh's, hvis). Den & & og | | fungere som logiske operatorer, hvis testen returnerer et 0 resultat (er sandt), at & & er udført, og | | er kort-cutted. Men hvis testen giver 1 (falsk), at & & er kort-cutted, men | | overtager.

Sammensatte kommandoer i hver filial kan gøres så godt:

Code:
[ -f .profile ] && echo "exists" || ( touch .profile; echo "exists now!" )

Men det parens sandsynligvis skabe en subshell, hvilket betyder, at miljøet kan ikke være præcis den samme, og selvfølgelig vil det medføre og OS omkostninger. Så vær forsigtig med dette.

Senest redigeret af otheus; 02-10-2008 kl 11:13 AM..
  #4 (permalink)  
Old 02-10-2008
fpmurphy's Avatar
Moderator
 

Join Date: Dec 2003
Beliggenhed: Florida
Indlæg: 2.101
Hvis du går ind i en "simpel kommando" med hvis, behøver du ikke at indtaste endif som følgende eksempel viser:


Code:
% if ( ! -d $backup_dir ) mkdir -p $backup_dir
%

eller du kan bruge \ til at fortsætte på den næste linje som følgende eksempel viser:

Code:
% if ( ! -d backup ) \
? mkdir -p backup
%

Sponsorerede links
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er Slukket


Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
prompten linje sobnc AIX 0 01-19-2008 05:50 PM
kommando for at slette logfiler er baseret på nogle betingelse pulkit Shell Programmering og Scripting 4 01-09-2008 06:17 AM
inkonsekvent ls kommandoen displayet ved kommandoprompten & kører som et cron-job rajranibl SuSE 5 07-30-2007 09:26 AM
Sti i prompten linje? Leitwolf UNIX for dummyer Spørgsmål & svar 4 04-02-2007 04:25 PM
2 linie prompt Kelam_Magnus UNIX for dummyer Spørgsmål & svar 7 06-13-2002 11:23 AM



Alle tidspunkter er GMT -4. Den tid er nu 12:06 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Indhold Copyright © 1993-2010. Alle rettigheder Reserved.Ad Management by RedTyger

Content Relevant webadresser ved vBSEO 3.2.0